You would not need the Content-type header, and if you did, the double linefeeds
go after all the HTTP headers. But in your case, only Location: ....\n\n is
required.
Not sure if the /cgi-bin/cgipgm\n\n thing will work, I've only used full URLs
with Location myself.

-Bob Cozzi
www.RPGxTools.com
RPG xTools - Enjoy programming again.


-----Original Message-----
From: web400-bounces@xxxxxxxxxxxx [mailto:web400-bounces@xxxxxxxxxxxx] On Behalf
Of Shane_Cessna@xxxxxxx
Sent: Thursday, April 27, 2006 2:53 PM
To: Web Enabling the AS400 / iSeries
Subject: Re: [WEB400] CGI error...

Thanks for the info...

My CL program is calling 2 programs...the first (ERQAPPROV) does the 
processing and doesn't display a web page...it does however do the copy of 
prolog3...

The 2nd (ERQINBOX) does another copy of prolog3 then displays a web 
page...

so, what you guys are suggesting is that i take out the prolog3 copy from 
the 2nd program (ERQINBOX)?

also, if I were to do the redirect, would I just have an html file coded 
like this?

/$all
Content-type: text/html

location: /cgi-bin/erqinbox<nl><nl>

Shane Cessna  
Senior iSeries Programmer
iSeries WebSphere & Tomcat Administrator
North American Lighting, Inc.
(618) 662-4483 x2776
shane_cessna@xxxxxxx 



"Brad Stone" <brad@xxxxxxxxxxxx> 
Sent by: web400-bounces@xxxxxxxxxxxx
04/27/2006 02:55 PM
Please respond to
Web Enabling the AS400 / iSeries <web400@xxxxxxxxxxxx>


To
Web Enabling the AS400 / iSeries <web400@xxxxxxxxxxxx>
cc

Subject
Re: [WEB400] CGI error...






pbA server = Powered by Apache...

I think you have some logic issues.  Your CL is calling 2
CGI programs that will display a web page?  That doesnt
seem correct.  Although it should work but display 2 web
pages. 

The error is saying it does't have any output coming
through.  So you need to be sure te CGIDEBUG file contains
the proper output after the call to the CL.

I think your form should call a CGI program that does
processing and then redirects to the first page using the
location header.

This should be fairly easy to do with logic in the
ERQAPPROVE program and writing a different section... so
after it processes it writes out a section (and ONLY this
section) that simply says:

location: /cgi-bin/erqinbox<nl><nl>

You could also always try debugging the entire application
starting with the CL.

Brad
www.bvstools.com

On Thu, 27 Apr 2006 13:56:01 -0500
 Shane_Cessna@xxxxxxx wrote:
> yes...but the thing is that it doesn't act like it wants
> to get to the 2nd 
> call...back to ERQINBOX...
> 
> basically the flow works like this...ERQINBOX (click)->
> ERQAPPROVE (click) 
> -> ERQAPPRC(2 calls) -> ERQAPPROV then ERQINBOX
> 
> Shane Cessna 
> Senior iSeries Programmer
> iSeries WebSphere & Tomcat Administrator
> North American Lighting, Inc.
> (618) 662-4483 x2776
> shane_cessna@xxxxxxx 
> 
> 
> 
> "Bob Cozzi" <cozzi@xxxxxxxxx> 
> Sent by: web400-bounces@xxxxxxxxxxxx
> 04/27/2006 01:36 PM
> Please respond to
> Web Enabling the AS400 / iSeries <web400@xxxxxxxxxxxx>
> 
> 
> To
> "'Web Enabling the AS400 / iSeries'"
> <web400@xxxxxxxxxxxx>
> cc
> 
> Subject
> Re: [WEB400] CGI error...
> 
> 
> 
> 
> 
> 
> Are you writing out your top section? 
> WrtSection('TOP')
> 
> 
> -Bob Cozzi
> www.RPGxTools.com
> RPG xTools - Enjoy programming again.
> 
> 
> -----Original Message-----
> From: web400-bounces@xxxxxxxxxxxx
> [mailto:web400-bounces@xxxxxxxxxxxx] On 
> Behalf
> Of Shane_Cessna@xxxxxxx
> Sent: Thursday, April 27, 2006 1:32 PM
> To: Web Enabling the AS400 / iSeries
> Subject: Re: [WEB400] CGI error...
> 
> Brad,
> 
> The last lines of CGIDEBUG contain the last page
> displayed plus some 
> general messages:
> 
> WrtSection: HTML = </html> 
> WrtSection: Sent 792 bytes to the browser
> ZhbGetInput: Request method = POST 
> ContLen: Content_length = 43 
> ZhbGetInput: Saved query string: 
> 
> The server job logs say nothing out of the ordinary...
> 
> pbA server???
> 
> Shane Cessna
> Senior iSeries Programmer
> iSeries WebSphere & Tomcat Administrator
> North American Lighting, Inc.
> (618) 662-4483 x2776
> shane_cessna@xxxxxxx 
> 
> 
> 
> "Brad Stone" <brad@xxxxxxxxxxxx> 
> Sent by: web400-bounces@xxxxxxxxxxxx
> 04/27/2006 01:44 PM
> Please respond to
> Web Enabling the AS400 / iSeries <web400@xxxxxxxxxxxx>
> 
> 
> To
> Web Enabling the AS400 / iSeries <web400@xxxxxxxxxxxx>
> cc
> 
> Subject
> Re: [WEB400] CGI error...
> 
> 
> 
> 
> 
> 
> It looks like you're using CGIDEV2... have you checked
> the
> CGIDEBUG file for any clues?  You can also turn on debug
> with CGIDEV2 and it will show you everyting it's writing
> to
> the browser.  From that you should be able to see if it's
> actually working properly. 
> 
> Also, check the HTTP server job logs as well as the error
> logs produced by the pbA server.
> 
> Brad
> 
> On Thu, 27 Apr 2006 12:51:09 -0500
>  Shane_Cessna@xxxxxxx wrote:
> > this is all it does...ERQAPPROV retrieves some
> variables
> > from the web 
> > page...ERQINBOX should just display the first page
> > again...
> > 
> >  START:      PGM
> >  /* This program does some processing from the +
> >     form data */
> >              CALL       PGM(CGIBIN/ERQAPPROV)
> >  /* This program just displays the first page +
> >     to the user again */
> >              CALL       PGM(CGIBIN/ERQINBOX)
> >  END:        ENDPGM
> > 
> > Shane Cessna 
> > Senior iSeries Programmer
> > iSeries WebSphere & Tomcat Administrator
> > North American Lighting, Inc.
> > (618) 662-4483 x2776
> > shane_cessna@xxxxxxx 
> > 
> > 
> > 
> > "Brad Stone" <brad@xxxxxxxxxxxx> 
> > Sent by: web400-bounces@xxxxxxxxxxxx
> > 04/27/2006 12:10 PM
> > Please respond to
> > Web Enabling the AS400 / iSeries <web400@xxxxxxxxxxxx>
> > 
> > 
> > To
> > Web Enabling the AS400 / iSeries <web400@xxxxxxxxxxxx>
> > cc
> > 
> > Subject
> > Re: [WEB400] CGI error...
> > 
> > 
> > 
> > 
> > 
> > 
> > Does the CL program attached to the button return
> > anything
> > to standard output?
> > 
> > On Thu, 27 Apr 2006 10:53:33 -0500
> >  Shane_Cessna@xxxxxxx wrote:
> > > Hey all,
> > > 
> > > I'm getting an error when I'm trying to access a CGI
> > > program.  Here's my 
> > > scenario:  I have an initial CGI RPG program that
> > > displays requisitions to 
> > > a user...they click on a link that takes them to
> > another
> > > page...on this 
> > > 2nd page, I have 2 buttons...one executes a CL
> program
> > > and one takes them 
> > > back to the original page that displays
> > > requisitions...here's my 
> > > problem...the user can click on the 2nd button to
> take
> > > them back to the 
> > > first page just fine...if they click on the first
> > button
> > > (that calls the 
> > > CL program) it should take them back to the first
> page
> > > once some 
> > > processing is complete.  However when I click on this
> > > first button, I get 
> > > a 500 Internal Server Error - Cannot read script
> output
> > > pipe.  So, I check 
> > > out the spool files for QTMHHTTP and see the
> following
> > > inside a spool file 
> > > called QZSRHTTPTR:
> > > 
> > > User Trace Dump for job 057806/QTMHHTTP/CGIHTTPSVR.
> > Size:
> > > 300K, Wrapped 0 
> > > times.
> > > --- 04/27/2006 10:15:28 --- 
> > >         000000FF:289848 ExceptionHandler_Default(),
> > > exception occurred 
> > >         000000FF:296168 E796B6D68C:004430 L:0007
> > > zsrvhjob.c:Exception ID:
> > >         000000FF:296184  E796B6D68C:004430  C3F2D4F1
> > > F6F0F1 
> > > *C2M1601.........*
> > >         000000FF:296200 E796B6D68C:004470 L:0030
> > > zsrvhjob.c:Exception 
> > > data: 
> > >         000000FF:296224  E796B6D68C:004470  F6AF545F
> > > EAFFEE70 D8D4C8E2 
> > > D5C4D7D4     *6..¬....QMHSNDPM*
> > >         000000FF:296240  E796B6D68C:004480  F6AF545F
> > > EAFFE2A0 F6AF545F 
> > > EAFFE2E0     *6..¬..S.6..¬..S\* 
> > >         000000FF:296256  E796B6D68C:004490  F6AF545F
> > > EAFFE2E0 FFFFFFFF 
> > > C70511A0     *6..¬..S\....G...*
> > >
> >
>
                                                   TRCTCPAPP
> > > Output 
> > > 
> > > Here's my sources:
> > > 
> > > HTML file erqinbox.html...this is the first page a
> user
> > > sees...
> > > 
> > > /$top
> > > Content-type: text/html
> > > 
> > > <html>
> > > <body>
> > > <SCRIPT LANGUAGE="JavaScript">
> > > <!--
> > > function attachments() {
> > >   var x = attachments.arguments;
> > >   var atchW = window.open(
> > >
> >
>
"ftp://ereq:ereq@xxxxxxxxxxxxxxxxxxxxx/eReqs/attachments/";
> > > + x[0] + "/", 
> > > "AtchPopup", 
> > >
> >
>
"status=no,resizable=no,scrollbars=yes,toolbar=no,menubar=no,directories=no,loca
> tion=no,width=600,height=600,top=250,left=400"
> > > );
> > >   atchW.focus();
> > >   atchW = null;
> > >   //return true;
> > > }
> > > // -->
> > > </SCRIPT>
> > > <head>
> > > <title>/%title%/</title>
> > > </head>
> > > <center>
> > > <img src="/pics/nallogo.jpg"><br>
> > > North American Lighting, Inc.<br>
> > > /%title%/<br>
> > > <br>
> > > </center>
> > > <b>eRequisition Legend: <font
> color="blue">Draft</font>
> > > <font color="red">
> > > Rejected</font> <font color="green">Alternate</font>
> > > <font color="orange">
> > > Reviewed</font> <font color="black">Approval
> > > Pending</font></b><br>
> > > <center>
> > > <form name="inbox">
> > > <input type="hidden" name="action" value="L">
> > > <input type="hidden" name="user" value="/%user%/">
> > > </form>
> > > <table border=1 cellspacing=1 cellpadding=5
> > width="100%">
> > > <th>eRequisition #<th>Originator<th>eRequisition
> > > Type<th>Amount<th>Vendor<
> > > th>Account #<th>Options
> > > 
> > > /$detail
> > > <tr>
> > > <td align="center"><b><font
> > > color="/%fcolor%/">/%reqnum%/</font></b><input 
> > > type="hidden" name="draft" value="/%draft%/"></td>
> > > <td align="center">/%orig%/</td>
> > > <td align="center">/%type%/</td>
> > > <td align="center">/%amount%/</td>
> > > <td align="center">/%vendor%/</td>
> > > <td align="center">/%acctnum%/</td>
> > > 
> > > /$authoptions
> > > <td><a
> > >
> >
>
href="/cgi-bin/erqapprove?req=/%reqnum%/&user=/%user%/&alt=/%alt%/"
> > > >Approve</a>&nbsp;&nbsp;<a href=
> > >
> >
>
"/cgi-bin/erqreject?req=/%reqnum%/?user=/%user%/">Reject</a>&nbsp;&nbsp;<a
> > > 
> > >
> >
>
href="/cgi-bin/erqreview?req=/%reqnum%/?user=/%user%/">Review</a>
> > > &nbsp;&nbsp;<a
> > >
> >
>
href="/cgi-bin/erqview?req=/%reqnum%/?user=/%user%/">View</
> > > a>&nbsp;&nbsp;<a
> > >
> >
> href="/cgi-bin/erqedit?req=/%reqnum%/?user=/%user%/">Edit
> > > </a><br><a
> > >
> >
>
href="/cgi-bin/erqnotfy?req=/%reqnum%/?user=/%user%/">Notify</a
> > > >&nbsp;&nbsp;<a
> > >
> href="/cgi-bin/erqreasin?req=/%reqnum%/?user=/%user%/">
> > > Reassign</a>&nbsp;&nbsp;<a
> > > href="/cgi-bin/erqnotes?req=/%reqnum%/">Notes</
> > > a>&nbsp;&nbsp;<a
> > >
> >
> href="javascript:attachments('/%reqnum%/')">Attachments</
> > > a></td>
> > > </tr>
> > > 
> > > /$unauthoptions
> > > <td><a
> > >
> >
>
href="/cgi-bin/erqreject?req=/%reqnum%/?user=/%user%/">Reject</a>
> > > &nbsp;&nbsp;<a
> > >
> >
>
href="/cgi-bin/erqview?req=/%reqnum%/?user=/%user%/">View</
> > > a>&nbsp;&nbsp;<a
> > >
> >
> href="/cgi-bin/erqedit?req=/%reqnum%/?user=/%user%/">Edit
> > > </a>&nbsp;&nbsp;<a
> > > href="/cgi-bin/erqnotes?req=/%reqnum%/">Notes</a>
> > > &nbsp;&nbsp;<a
> > >
> >
>
href="javascript:attachments('/%reqnum%/')">Attachments</a
> > > ></td>
> > > </tr>
> > > 
> > > /$nodetail
> > > <tr>
> > > <td align="center" colspan="7"><b>You have no
> > > eRequisitions pending 
> > > approval.</b></td>
> > > </tr>
> > > 
> > > /$messages
> > > <tr>
> > > <td align="center"
> colspan="7"><b>/%message%/</b></td>
> > > </tr>
> > > 
> > > /$bottom
> > > </table>
> > > <br>
> > > <br>
> > > <button
> > >
> >
>
onClick="window.open('/cgi-bin/erqinbox','_self');">Refresh</
> > > button>&nbsp;&nbsp;
> > > <button
> > >
> onClick="window.open('/cgi-bin/erqmnuj','_self');">Main
> > > Menu</
> > > button>
> > > </center>
> > > <table>
> > > <tr>
> > > <td align="left">/%date%/</td>
> > > <td align="center">&nbsp;</td>
> > > <td align="right">/%time%/</td>
> > > </tr>
> > > </table>
> > > </body>
> > > </html>
> > > 
> > > CGI RPGLE Program ERQINBOX...program that displays
> > > erqinbox.html
> > > 
> > >      h option(*nodebugio:*srcstmt) bnddir('QC2LE')
> > > dftactgrp(*no)
> > >      h bnddir('CGIBIN/CGIDEV2BND') datfmt(*usa)
> > > timfmt(*hms) 
> > > actgrp('EREQS')
> > > 
> > >
> >
>
//--------------------------------------------------------------------
> > >       // Created By.: Shane Cessna
> > >       // Date.......: 2.17.2006
> > >       // Ticket #...: CBRN-5JHRSE Electronic
> > Requisition
> > > System
> > >       // Description: This system will be used
> > primarily
> > > for the approval
> > >       //              process of capital
> requisitions.
> > >       // Compile Steps: CRTSQLRPGI
> OBJ(CGIBIN/ERQINBOX)
> > >       //                  SRCFILE(CGIBIN/QRPGLESRC)
> > > DBGVIEW(*SOURCE)
> > >       //                CRTPGM PGM(ERQINBOX)
> > > ACTGRP(*CALLER)
> > >       //                  MODULE(CGIBIN/ERQINBOX
> > > CGIBIN/#FUNCTIONS)
> > > 
> > >
> >
>
//--------------------------------------------------------------------
> > >       // Changed By.:
> > >       // Date.......:
> > >       // Description:
> > > 
> > >
> >
>
//--------------------------------------------------------------------
> > >      ferqdtl    if   e           k disk
> > >    extfile('ASCLIB/ERQDTL')
> > >      ferqrtfix  if   e           k disk
> > >    extfile('ASCLIB/ERQRTFIX')
> > >      ferqrtvar  if   e           k disk
> > >    extfile('ASCLIB/ERQRTVAR')
> > >      fusers     if   e           k disk
> > >    extfile('NALCUSTOM/USERS')
> > >      ferqsec    if   e           k disk
> > >    extfile('ASCLIB/ERQSEC')
> > >      fewoemail  if   e           k disk
> > >    extfile('NALCUSTOM/EWOEMAIL')
> > >      ferqapr    uf   e           k disk
> > >    extfile('ASCLIB/ERQAPR')
> > >      ferqhdr    uf   e           k disk
> > >    extfile('ASCLIB/ERQHDR')
> > >      ferqnot    uf a e           k disk
> > >    extfile('ASCLIB/ERQNOT')
> > >      fqsysprt   o    f  132        printer
> > > 
> > >
> >
>
//--------------------------------------------------------------------
> > >       // Data Structures
> > > 
> > >
> >
>
//--------------------------------------------------------------------
> > >      d                 ds
> > >      d date8                   1      8  0
> inz(*zeros)
> > >      d  date8mm                1      2  0
> > >      d  date8dd                3      4  0
> > >      d  date8ccyy              5      8  0
> > > 
> > >
> >
>
//--------------------------------------------------------------------
> > >       // Program Variables
> > > 
> > >
> >
>
//--------------------------------------------------------------------
> > >      d usr             s             10a   inz
> > >      d altreq          s               n   inz(false)
> > >      d path            s           1024a   inz
> > >      d #recs           s              3p 0 inz(0)
> > >      d aprusrid        s             10a   inz
> > >      d @goahead        s              1a   inz(No)
> > >      d @secretary      s              1a   inz
> > >      d alternate       s               n   inz
> > >      d today           s               d   inz
> > >      d user            s             10a   inz
> > >      d userid          s             10a   inz
> > >      d alphareq#       s             12a   inz
> > >      d reqdraft        s              1a   inz
> > >      d reqrqn          s             12s 0 inz
> > >      d reqstp          s              3s 0 inz
> > >      d reqorg          s             10a   inz
> > >      d reqreq          s              1a   inz
> > >      d reqrtvar1       s             20a   inz
> > >      d reqrtvar2       s             20a   inz
> > >      d reqrtvar3       s             20a   inz
> > >      d reqrtvar4       s             20a   inz
> > >      d reqrjt          s              1a   inz
> > >      d reqpfr          s             32a   inz
> > >      d reqact          s             16a   inz
> > >      d reqcur          s              3a   inz
> > >      d reqrvw          s              1a   inz
> > >      d reqnum          s             12p 0 inz
> > >      d action          s              1a   inz
> > >      d username        s             50a   inz
> > >      d fcolor          s              6a
>   inz('black')
> > >      d pototal         s             13p 2 inz
> > >      d areqnum         s             12a   inz
> > >      d todaysdate      s               d
> > >      d todaystime      s               t
> > >      d message         s             80a   inz
> > > 
> > >
> >
>
//--------------------------------------------------------------------
> > >       // Procedures & Subprocedures
> > > 
> > >
> >
>
//--------------------------------------------------------------------
> > >       /copy qrpglesrc,prototypeb
> > >       /copy qrpglesrc,usec
> > >       /copy qrpglesrc,variables3
> > >      d init            pr
> > >      d isAuthorized    pr              n
> > > 
> > >
> >
>
//--------------------------------------------------------------------
> > >       // Named Constants
> > > 
> > >
> >
>
//--------------------------------------------------------------------
> > >      d quote           c
>                   const(x'7D')
> > >      d No              c                   const('N')
> > >      d Yes             c                   const('Y')
> > >      d Current         c
>                   const('CUR')
> > >      d History1        c
>                   const('H01')
> > >      d Capital         c                   const('C')
> > >      d Tooling         c                   const('T')
> > >      d Expense         c                   const('E')
> > >      d ExtSample       c                   const('S')
> > >      d IntSample       c                   const('I')
> > >      d CustPdPkg       c                   const('P')
> > >      d RptExpense      c                   const('R')
> > >      d InHseAprCap     c                   const('W')
> > >      d InHsePurCap     c                   const('X')
> > >      d InHseAprTol     c                   const('Y')
> > >      d InHsePurTol     c                   const('Z')
> > >      d View            c                   const('V')
> > >      d Approve         c                   const('A')
> > >      d Rejected        c                   const('R')
> > >      d Reviewed        c                   const('O')
> > >      d Change          c                   const('C')
> > >      d Notify          c                   const('N')
> > >      d Notes           c                   const('E')
> > >      d Reassign        c                   const('S')
> > >      d Attachments     c                   const('T')
> > >      d true            c                   const(*on)
> > >      d false           c
>                   const(*off)
> > >      d Skip            c                   const('S')
> > > 
> > >
> >
>
//--------------------------------------------------------------------
> > >       // Cursor Declaration
> > > 
> > >
> >
>
//--------------------------------------------------------------------
> > >      c/exec sql
> > >       + declare openReqs cursor for
> > >       +  select erqhrqn, erqhdraft, erqhstp, erqhorg,
> > > erqhreq, erqhrtvar1,
> > >       +         erqhrtvar2, erqhrtvar3, erqhrtvar4,
> > > erqhrjt, erqhpfr,
> > >       +         erqhact, erqhcur, erqhrvw
> > >       +   from asclib/erqhdr
> > >       +    where erqhstp <> 98 and erqhstp <> 99
> > >       +     order by erqhrqn
> > >      c/end-exec
> > > 
> > >
> >
>
//--------------------------------------------------------------------
> > >       // Main Line
> > > 
> > >
> >
>
//--------------------------------------------------------------------
> > >       /free
> > >        init();
> > >        exsr $load;
> > >        *inlr = *on;
> > > 
> > >
> >
>
//-------------------------------------------------------------------
> > >        // Load Subfile
> > > 
> > >
> >
>
//-------------------------------------------------------------------
> > >        begsr $load;
> > >         exsr $inboxhdr;
> > >         if not %open(erqapr);
> > >           open erqapr;
> > >         endif;
> > >         @goahead = No;
> > >         #recs = 0;
> > >         exsr $open;
> > >         exsr $fetch;
> > >         dow sqlcod = *zeros;
> > >           altreq = false;
> > >           if reqdraft = No;
> > >             chain(n) (reqrqn:Current:reqstp) erqapr;
> > >             if %found(erqapr);
> > >               if erqausr = usr and erqasts = Current;
> > >                 fcolor = 'black';
> > >                 exsr $writesfl;
> > >               else;
> > >                 @goahead = No;
> > >                 @secretary = No;
> > >                 chain usr erqsec;
> > >                 if %found(erqsec);
> > >                   @secretary = Yes;
> > >                   if secbos = erqausr;
> > >                     aprusrid = usr;
> > >                     @goahead = Yes;
> > >                   else;
> > >                     @goahead = No;
> > >                     aprusrid = *blanks;
> > >                   endif;
> > >                 endif;
> > >                 if @secretary = No;
> > >                   exsr $userid;
> > >                 endif;
> > >                 if ((aprusrid = usr and not
> > > %eof(erqrtvar)) or
> > >                     (@goahead = Yes and not
> > > %eof(erqrtvar))) or
> > >                    ((aprusrid = usr and not
> > > %eof(erqrtfix)) or
> > >                     (@goahead = Yes and not
> > > %eof(erqrtfix)));
> > >                   @goahead = No;
> > >                   exsr $writesfl;
> > >                 endif;
> > >               endif;
> > >             endif;
> > >           else;
> > >             if usr = reqorg;
> > >               fcolor = 'blue';
> > >               exsr $writesfl;
> > >             endif;
> > >           endif;
> > >           exsr $fetch;
> > >         enddo;
> > >         exsr $close;
> > >         if %open(erqapr);
> > >           close erqapr;
> > >         endif;
> > >         if #recs = 0;
> > >           wrtsection('nodetail');
> > >         endif;
> > >         if message <> *blanks;
> > >           updhtmlvar('message':message);
> > >           wrtsection('messages');
> > >         endif;
> > >         todaysdate = %date();
> > >         todaystime = %time();
> > >         updhtmlvar('date':%char(todaysdate));
> > >         updhtmlvar('time':%char(todaystime));
> > >         wrtsection('bottom *fini');
> > >        endsr;
> > > 
> > >
> >
>
//-------------------------------------------------------------------
> > >        // inbox header
> > > 
> > >
> >
>
//-------------------------------------------------------------------
> > >        begsr $inboxhdr;
> > >         clrhtmlbuffer();
> > >         path =
> > > '/home/scessna/cgidev2/eReqs/erqinbox.html';
> > >         gethtmlifs(path);
> > >         chain usr users;
> > >         if %found(users);
> > >           updhtmlvar('title':%trim(usrdesc) + quote +
> > 's
> > > Inbox');
> > >         else;
> > >           updhtmlvar('title':'eRequisitions to
> > Approve');
> > >         endif;
> > >         updhtmlvar('user':usr);
> > >         updhtmlvar('selectedReq':areqnum);
> > >         wrtsection('top');
> > >        endsr;
> > > 
> > >
> >
>
//-------------------------------------------------------------------
> > >        // open
> > > 
> > >
> >
>
//-------------------------------------------------------------------
> > >        begsr $open;
> > >       /end-free
> > >      c/exec sql
> > >       + open openReqs
> > >      c/end-exec
> > >       /free
> > >        endsr;
> > > 
> > >
> >
>
//-------------------------------------------------------------------
> > >        // fetch
> > > 
> > >
> >
>
//-------------------------------------------------------------------
> > >        begsr $fetch;
> > >       /end-free
> > >      c/exec sql
> > >       + fetch from openReqs into :reqrqn, :reqdraft,
> > > :reqstp, :reqorg,
> > >       +                          :reqreq, :reqrtvar1,
> > > :reqrtvar2,
> > >       +                          :reqrtvar3,
> > :reqrtvar4,
> > > :reqrjt,
> > >       +                          :reqpfr, :reqact,
> > > :reqcur, :reqrvw
> > >      c/end-exec
> > >       /free
> > >        endsr;
> > > 
> > >
> >
>
//-------------------------------------------------------------------
> > >        // close
> > > 
> > >
> >
>
//-------------------------------------------------------------------
> > >        begsr $close;
> > >       /end-free
> > >      c/exec sql
> > >       + close openReqs
> > >      c/end-exec
> > >       /free
> > >        endsr;
> > > 
> > >
> >
>
//-------------------------------------------------------------------
> > >        // Is User authorized to approve requisition?
> > > 
> > >
> >
>
//-------------------------------------------------------------------
> > >        begsr $userid;
> > >         setll
> > > (reqreq:reqrtvar1:reqrtvar2:reqrtvar3:reqrtvar4)
> > > erqrtvar;
> > >         reade
> > > (reqreq:reqrtvar1:reqrtvar2:reqrtvar3:reqrtvar4)
> > > erqrtvar;
> > >         dow not %eof(erqrtvar) and erqausr <> rvuser;
> > >           reade
> > > (reqreq:reqrtvar1:reqrtvar2:reqrtvar3:reqrtvar4)
> > > erqrtvar;
> > >         enddo;
> > >         if not %eof(erqrtvar);
> > >           if rvusof = Yes;
> > >             if rva1of = Yes;
> > >               if rva2of = Yes;
> > >                 aprusrid = rvalt3;
> > >               else;
> > >                 aprusrid = rvalt2;
> > >               endif;
> > >             else;
> > >               aprusrid = rvalt1;
> > >             endif;
> > >             altreq = true;
> > >           else;
> > >             aprusrid = erqausr;
> > >           endif;
> > >         else;
> > >           setll reqreq erqrtfix;
> > >           reade reqreq erqrtfix;
> > >           dow not %eof(erqrtfix) and erqausr <>
> rfuser;
> > >             reade reqreq erqrtfix;
> > >           enddo;
> > >           if not %eof(erqrtfix);
> > >             if rfusof = Yes;
> > >               if rfa1of = Yes;
> > >                 if rfa2of = Yes;
> > >                   aprusrid = rfalt3;
> > >                 else;
> > >                   aprusrid = rfalt2;
> > >                 endif;
> > >               else;
> > >                 aprusrid = rfalt1;
> > >               endif;
> > >               altreq = true;
> > >             else;
> > >               aprusrid = erqausr;
> > >             endif;
> > >           endif;
> > >         endif;
> > >        endsr;
> > > 
> > >
> >
>
//-------------------------------------------------------------------
> > >        // Writes record to subfile
> > > 
> > >
> >
>
//-------------------------------------------------------------------
> > >        begsr $writesfl;
> > >         pototal = *zeros;
> > >         setll reqrqn erqdtl;
> > >         reade reqrqn erqdtl;
> > >         dow not %eof(erqdtl);
> > >           pototal += (erqdqty * erqdupr);
> > >           reade reqrqn erqdtl;
> > >         enddo;
> > >         chain reqorg users;
> > >         if not %found(users);
> > >           updhtmlvar('orig':reqorg);
> > >         else;
> > >           updhtmlvar('orig':usrdesc);
> > >         endif;
> > >         updhtmlvar('amount':%char(pototal) + ' ' +
> > > reqcur);
> > >         select;
> > >         when reqreq = Capital;
> > >           updhtmlvar('type':'Standard Capital');
> > >         when reqreq = InHseAprCap;
> > >           updhtmlvar('type':'In House Approval
> > Capital');
> > >         when reqreq = InHsePurCap;
> > >           updhtmlvar('type':'In House Purchase
> > Capital');
> > >         when reqreq = ExtSample;
> > >           updhtmlvar('type':'External Sample');
> > >         when reqreq = IntSample;
> > >           updhtmlvar('type':'Internal Sample');
> > >         when reqreq = Tooling;
> > >           updhtmlvar('type':'Customer Paid Tooling');
> > >         when reqreq = InHseAprTol;
> > >           updhtmlvar('type':'In House Approval
> > Tooling');
> > >         when reqreq = InHsePurTol;
> > >           updhtmlvar('type':'In House Purchase
> > Tooling');
> > >         when reqreq = CustPdPkg;
> > >           updhtmlvar('type':'Customer Paid
> Packaging');
> > >         when reqreq = Expense;
> > >           updhtmlvar('type':'Expense');
> > >         when reqreq = RptExpense;
> > >           updhtmlvar('type':'Repeat Expense');
> > >         endsl;
> > >         updhtmlvar('vendor':reqpfr);
> > >         if reqact <> *blanks;
> > >           updhtmlvar('acctnum':reqact);
> > >         else;
> > >           updhtmlvar('acctnum':'&nbsp;');
> > >         endif;
> > >         if reqdraft = Yes;
> > >           fcolor = 'blue';
> > >         endif;
> > >         if reqrjt = Yes;
> > >           fcolor = 'red';
> > >         endif;
> > >         if altreq;
> > >           fcolor = 'green';
> > >           updhtmlvar('alt':Yes);
> > >         else;
> > >           updhtmlvar('alt':No);
> > >         endif;
> > >         if reqrvw = Yes;
> > >           fcolor = 'orange';
> > >         endif;
> > >         updhtmlvar('reqnum':%char(reqrqn));
> > >         updhtmlvar('fcolor':fcolor);
> > >         #recs += 1;
> > >         wrtsection('detail');
> > >         if reqdraft = No;
> > >           wrtsection('authoptions');
> > >         else;
> > >           wrtsection('unauthoptions');
> > >         endif;
> > >         fcolor = *blanks;
> > >        endsr;
> > >       /end-free
> > >      oqsysprt   e            hdr               1
> > >      o                                            6
> > > 'Fields'
> > >      oqsysprt   e            hdr         1
> > >      o                                            6
> > > '------'
> > >      oqsysprt   e            dtl         1
> > >      o                                            7
> > 'User
> > > = '
> > >      o                       usr                 +1
> > > 
> > >
> >
>
//-------------------------------------------------------------------
> > >        //
> > > 
> > >
> >
>
//-------------------------------------------------------------------
> > >      p init            b
> > >      d init            pi
> > >       /copy qcopysrc,prolog3
> > >       /free
> > >        wrtdebug('got into Inbox');
> > >        today = %date();
> > >        date8mm = %subdt(today:*months);
> > >        date8dd = %subdt(today:*days);
> > >        date8ccyy = %subdt(today:*years);
> > >        usr = zhbgetvar('user');
> > >        if usr = *blanks;
> > >          usr = psdsusrprf;
> > >        endif;
> > >        except hdr;
> > >        except dtl;
> > >       /end-free
> > >      p init            e
> > > ...
> > > 
> > > html file erqapprove.html...user clicks on an
> "Approve"
> > > link and this page 
> > > displays...
> > > 
> > > /$all
> > > Content-type: text/html
> > > 
> > > <html>
> > > <body>
> > > <head>
> > > <title>Approve eRequisition - /%reqnum%/</title>
> > > </head>
> > > <center>
> > > <img src="/pics/nallogo.jpg"><br>
> > > North American Lighting, Inc.<br>
> > > Approve eRequisition - /%reqnum%/<br>
> > > <br>
> > > <form name="approve" method="post"
> > > action="/cgi-bin/erqapprc">
> > > <textarea name="comments" rows="10" cols="50">Enter
> > > comments here 
> > > (optional).</textarea>
> > > <input type="hidden" name="user" value="/%user%/">
> > > <input type="hidden" name="alt" value="/%alt%/">
> > > <input type="hidden" name="req" value="/%reqnum%/">
> > > <br><br>
> > > <input type="Submit" value="Approve">
> > > </form>
> > > <form action="/cgi-bin/erqinbox">
> > > <input type="Submit" value="Cancel">
> > > </form>
> > > </center>
> > > <table>
> > > <tr>
> > > <td align="left">/%date%/</td>
> > > <td align="center">&nbsp;</td>
> > > <td align="right">/%time%/</td>
> > > </tr>
> > > </table>
> > > </body>
> > > </html>
> > > 
> > > CGI RPGLE Program ERQAPPROVE...displays above html
> > > file...
> > > 
> > >      h option(*nodebugio:*srcstmt) bnddir('QC2LE')
> > > dftactgrp(*no)
> > >      h bnddir('CGIBIN/CGIDEV2BND') datfmt(*usa)
> > > timfmt(*hms) 
> > > actgrp('eReqs')
> > > 
> > >
> >
>
//--------------------------------------------------------------------
> > >       // Created By.: Shane Cessna
> > >       // Date.......: 4.26.2006
> > >       // Ticket #...: CBRN-5JHRSE Electronic
> > Requisition
> > > System
> > >       // Description: This system will be used
> > primarily
> > > for the approval
> > >       //              process of capital
> requisitions.
> > >       // Compile Steps: CRTSQLRPGI
> > OBJ(CGIBIN/ERQAPPROVE)
> > >       //                  SRCFILE(CGIBIN/QRPGLESRC)
> > > DBGVIEW(*SOURCE)
> > > 
> > >
> >
>
//--------------------------------------------------------------------
> > >       // Changed By.:
> > >       // Date.......:
> > >       // Description:
> > > 
> > >
> >
>
//--------------------------------------------------------------------
> > > 
> > >
> >
>
//--------------------------------------------------------------------
> > >       // Program Variables
> > > 
> > >
> >
>
//--------------------------------------------------------------------
> > >      d usr             s             10a   inz
> > >      d path            s           1024a   inz
> > >      d user            s             10a
>   inz(*blanks)
> > >      d reqnum          s             12p 0 inz
> > >      d areqnum         s             12a   inz
> > >      d altflag         s              1a   inz
> > >      d todaysdate      s               d
> > >      d todaystime      s               t
> > > 
> > >
> >
>
//--------------------------------------------------------------------
> > >       // Procedures & Subprocedures
> > > 
> > >
> >
>
//--------------------------------------------------------------------
> > >       /copy qrpglesrc,prototypeb
> > >       /copy qrpglesrc,usec
> > >       /copy qrpglesrc,variables3
> > >      d init            pr
> > > 
> > >
> >
>
//--------------------------------------------------------------------
> > >       // Named Constants
> > > 
> > >
> >
>
//--------------------------------------------------------------------
> > >      d quote           c
>                   const(x'7D')
> > >      d No              c                   const('N')
> > >      d Yes             c                   const('Y')
> > >      d true            c                   const(*on)
> > >      d false           c
>                   const(*off)
> > > 
> > >
> >
>
//--------------------------------------------------------------------
> > >       // main
> > > 
> > >
> >
>
//--------------------------------------------------------------------
> > >       /free
> > >        init();
> > >        clrhtmlbuffer();
> > >        path =
> > > '/home/scessna/cgidev2/eReqs/erqapprove.html';
> > >        gethtmlifs(path);
> > >        updhtmlvar('user':usr);
> > >        updhtmlvar('reqnum':areqnum);
> > >        updhtmlvar('alt':altflag);
> > >        updhtmlvar('date':%char(todaysdate));
> > >        updhtmlvar('time':%char(todaystime));
> > >        wrtsection('all *fini');
> > >        *inlr = *on;
> > >       /end-free
> > > 
> > >
> >
>
//-------------------------------------------------------------------
> > >        //
> > > 
> > >
> >
>
//-------------------------------------------------------------------
> > >      p init            b
> > >      d init            pi
> > >       /free
> > >       /copy qcopysrc,prolog3
> > >        usr = zhbgetvar('user');
> > >        areqnum = zhbgetvar('req');
> > >        if areqnum = *blanks;
> > >          reqnum = 0;
> > >        else;
> > >          reqnum = %dec(areqnum:12:0);
> > >        endif;
> > >        altflag = zhbgetvar('alt');
> > >        todaysdate = %date();
> > >        todaystime = %time();
> > >       /end-free
> > >      p init            e 
> > > 
> > > CL Program ERQAPPRC...user clicks on Approve button
> in
> > > erqapprove.html and 
> > > this program gets called...
> > > 
> > >  START:      PGM
> > >              CALL       PGM(CGIBIN/ERQAPPROV)  ->
> does
> > > processing
> > >              CALL       PGM(CGIBIN/ERQINBOX)   ->
> > should
> > > display first 
> > > page
> > >  END:        ENDPGM                            -> but
> > > gets 500 error
> > > 
> > > 
> > > sorry for the lengthy post, but I thought that
> posting
> > > the source would be 
> > > a good start...if anyone has any idea as to what I'm
> > > doing wrong or if 
> > > it's something wrong with my HTTP server, feel free
> to
> > > let me know...
> > > 
> > > Thanks in advance...
> > > 
> > > Shane Cessna
> > > Senior iSeries Programmer
> > > North American Lighting, Inc.
> > > (618) 662-4483 x2776
> > > shane_cessna@xxxxxxx 
> > > -- 
> > > This is the Web Enabling the AS400 / iSeries (WEB400)
> > > mailing list
> > > To post a message email: WEB400@xxxxxxxxxxxx
> > > To subscribe, unsubscribe, or change list options,
> > > visit:
> > http://lists.midrange.com/mailman/listinfo/web400
> > > or email: WEB400-request@xxxxxxxxxxxx
> > > Before posting, please take a moment to review the
> > > archives
> > > at http://archive.midrange.com/web400.
> > > 
> > 
> > Bradley V. Stone
> > BVS.Tools
> > www.bvstools.com
> > -- 
> > This is the Web Enabling the AS400 / iSeries (WEB400)
> > mailing list
> > To post a message email: WEB400@xxxxxxxxxxxx
> > To subscribe, unsubscribe, or change list options,
> > visit:
> http://lists.midrange.com/mailman/listinfo/web400
> > or email: WEB400-request@xxxxxxxxxxxx
> > Before posting, please take a moment to review the
> > archives
> > at http://archive.midrange.com/web400.
> > 
> > 
> 
> Bradley V. Stone
> BVS.Tools
> www.bvstools.com
> -- 
> This is the Web Enabling the AS400 / iSeries (WEB400)
> mailing list
> To post a message email: WEB400@xxxxxxxxxxxx
> To subscribe, unsubscribe, or change list options,
> visit: http://lists.midrange.com/mailman/listinfo/web400
> or email: WEB400-request@xxxxxxxxxxxx
> Before posting, please take a moment to review the
> archives
> at http://archive.midrange.com/web400.
> 
> 
> -- 
> This is the Web Enabling the AS400 / iSeries (WEB400)
> mailing list
> To post a message email: WEB400@xxxxxxxxxxxx
> To subscribe, unsubscribe, or change list options,
> visit: http://lists.midrange.com/mailman/listinfo/web400
> or email: WEB400-request@xxxxxxxxxxxx
> Before posting, please take a moment to review the
> archives
> at http://archive.midrange.com/web400.
> 
> 
> 
> -- 
> This is the Web Enabling the AS400 / iSeries (WEB400)
> mailing list
> To post a message email: WEB400@xxxxxxxxxxxx
> To subscribe, unsubscribe, or change list options,
> visit: http://lists.midrange.com/mailman/listinfo/web400
> or email: WEB400-request@xxxxxxxxxxxx
> Before posting, please take a moment to review the
> archives
> at http://archive.midrange.com/web400.
> 
> 

Bradley V. Stone
BVS.Tools
www.bvstools.com

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