There should be a mbr in lib CGIDEVPSS/HTMLSRC.FIRSTCGI that contains all the sections name used eg. TOP,TABSTR and TABROW that were listed in the CGIDEBUG. You can take a look at CGIDEV2/HTMLSRC. There are a lot of examples. It is something like DDS file if you have written RPG interative program. rgds, Ban Peow
>From: "Garrett, Stuart" <[EMAIL PROTECTED]> >Reply-To: [email protected] >To: "'[email protected]'" <[email protected]> >Subject: RE: [Easy400Group] Problems with Firstcgi pgm using CGIDEV2 >Date: Tue, 28 Feb 2006 14:08:47 -0000 > >This is the source of the test cgi application im using, I believe the >answer is no to your Question. >By the way, I used the following command to create this test cgi pgm: >CGIDEV2/CRTCGISRC SRCMBR(firstcgi) SRCLIB(cgidevpss) PRDLIB(*srclib) > > > >*===================================================================== > * RPG ILE MODULE CGIDEVPSS/FIRSTCGI > * > * WARNING -This is a sample CGI program, > * that you will customize for your needs > * > * After compiling this RPG MODULE, > * create the related program with the following command: > * > * CRTPGM CGIDEVPSS/FIRSTCGI MODULE(CGIDEVPSS/FIRSTCGI) > * ACTGRP(FIRSTCGI) AUT(*USE) > * > * To execute this program, > * enter the following in your WEB browser command line: > * http://.../cgidevpssp/firstcgi.pgm > * > >*===================================================================== > /copy CGIDEVPSS/qrpglesrc,hspecs > /copy CGIDEVPSS/qrpglesrc,hspecsbnd > FSAMPLEFILEif a e k disk usropn > >*===================================================================== > * Includes to be used in CGIs > >*===================================================================== > /copy CGIDEVPSS/qrpglesrc,prototypeb > /copy CGIDEVPSS/qrpglesrc,usec > /copy CGIDEVPSS/qrpglesrc,variables3 > >*===================================================================== > * Variables specific to this module > >*===================================================================== > * Name of this program > D PgmName c 'firstcgi' > * Path to this program > D PgmPath c 'cgidevpssp' > * > * Sample client input variables > D request s 10a > D newnbr s 5a > D newdes s 50a > D newprc s 7a > D newqty s 9a > * > * Other variables > D OpenSW s 1a > D TimeStamp s z > * > D l s 10i 0 > D s s 10i 0 > D blanks s 1024a > * > D AddedSW s 1a > D NbrRecs s 10i 0 > D RowValue s 11s 2 > >*===================================================================== > * Read remote browser request via "zhbGetInput" procedure > >*===================================================================== > /copy CGIDEVPSS/qrpglesrc,prolog3 > >*===================================================================== > * Main line > >*===================================================================== > * Write qualified job name to debug file. The *on > * parameter forces output even if debugging is off. > * Remove this parameter or change it to *off if you > * want the output only if debugging is on. > C callp wrtjobdbg(*on) > * Use "zhbGetVar" procedure > * to parse the input string into program variables > C eval request = zhbgetvar('request') > C eval newnbr = zhbgetvar('newnbr') > C eval newdes = zhbgetvar('newdes') > C eval newprc = zhbgetvar('newprc') > C eval newqty = zhbgetvar('newqty') > * Override and open file(s) > C exsr OpenDbf > * Add a new part number if requested so > C exsr IfAdd > *------------------ > * Ask the service program to load into core > * html member FIRSTCGI > * from source file HTMLSRC in library CGIDEVPSS > C callp gethtml('HTMLSRC': > C 'CGIDEVPSS':'FIRSTCGI') > * Start the output HTML: > * clear all variables and set variable "/%pgm%/" > C callp updHTMLvar('pgm':PgmName:'0') > * issue section "top" > C callp wrtsection('top') > * Display the contents of the file > C exsr DspFile > * Send the input form > C exsr SndForm > * Send the response html buffer and exit > C exsr Exit > >*===================================================================== > * If requested to add a new part number > >*===================================================================== > C IfAdd begsr > C eval AddedSW = 'N' > C eval request = uppify(request) > C IF request = 'ADD' and > C newnbr <> ' ' and > C newdes <> ' ' and > C newprc <> ' ' and > C newqty <> ' ' > *========== > * Shift numeric input data to the right > * From V4R5 on, the right shifting can be performed through > * a single instruction, like the following: > C* evalr newnbr = %trim(newnbr) > * > C eval s = %size(newnbr) > C ' ' checkr newnbr l > C if s > l > C eval newnbr = %subst(blanks:1:s-l) + >C C %subst(newnbr:1:l) > C endif > * > C eval s = %size(newprc) > C ' ' checkr newprc l > C if s > l > C eval newprc = %subst(blanks:1:s-l) + >C C %subst(newprc:1:l) > C endif > * > C eval s = %size(newqty) > C ' ' checkr newqty l > C if s > l > C eval newqty = %subst(blanks:1:s-l) + >C C %subst(newqty:1:l) > C endif > * > * Test for numeric data > C testn newprc 41 > C testn newqty 42 > C iF *in41 = *on and *in42 = *on > C newnbr chain smprcd > C if not%found > C eval smpnbr = newnbr > C eval smpdes = newdes > C move newprc smpprc > C move newqty smpqty > C write smprcd > C eval AddedSW = 'Y' > C endif > C endiF > *========== > C ENDIF > C endsr > >*===================================================================== > * Display the contents of the file > >*===================================================================== > C DspFile begsr > C eval NbrRecs = 0 > C eval SmpNbr = *loval > C SmpNbr setll smprcd > * > C read smprcd > C dow not%eof > C eval NbrRecs = NbrRecs + 1 > C if NbrRecs = 1 > C callp wrtsection('tabstr') > C endif > C exsr TableRow > C read smprcd > C enddo > * > C if NbrRecs > 0 > C callp wrtsection ('tabend') > C else > C callp wrtsection ('none') > C endif > C endsr > >*===================================================================== > * Issue section "tablerow" > >*===================================================================== > C TableRow begsr > C callp updHTMLvar('partnbr':SmpNbr) > C callp updHTMLvar('descript':SmpDes) > C callp updHTMLvar('uprice': > C %editc(smpprc:'J')) > C callp updHTMLvar('qty': > C %editc(smpqty:'J')) > C eval RowValue = smpprc * smpqty > C callp updhtmlvar('value': > C %editw(RowValue:' , , 0 . ')) > * > C callp wrtsection ('tabrow') > * > C endsr > >*===================================================================== > * Send the input form > >*===================================================================== > C SndForm begsr > C IF request = 'ADD' and AddedSW <> 'Y' > * If input requested and not accepted > C callp wrtsection('notadded') > C callp updhtmlvar('newnbr':newnbr) > C callp updhtmlvar('newdes':newdes) > C callp updhtmlvar('newprc':newprc) > C callp updhtmlvar('newqty':newqty) > C ELSE > * If input not requested or accepted > C if request = 'ADD' > C callp wrtsection('added') > C endif > C callp updhtmlvar('newnbr':' ') > C callp updhtmlvar('newdes':' ') > C callp updhtmlvar('newprc':' ') > C callp updhtmlvar('newqty':' ') > C ENDIF > * > C time TimeStamp > C callp >updHTMLvar('timestamp':%char(TimeStamp)) > C callp updHTMLvar('pgm':PgmName) > C callp updHTMLvar('pgmpath':PgmPath) > C callp wrtsection('form') > C endsr > >*===================================================================== > * Override and open database files (only the 1st time through) > >*===================================================================== > C OpenDbf begsr > * > C if OpenSW = ' ' > C eval OpenSW = 'X' > C eval rc = docmd('OVRDBF FILE(SAMPLEFILE) + > C TOFILE(CGIDEVPSS/SAMPLEFILE) + > C SECURE(*YES)') > C open SAMPLEFILE > C endif > * > C endsr > >*===================================================================== > * Send response html and quit > >*===================================================================== > C Exit begsr > * End the HTML > C callp wrtsection('end') > * Do not delete the call to wrtsection with section name *fini. It >is >needed > * to ensure that all output html that has been buffered gets output. > C callp wrtsection('*fini') > * Quit without raising *inlr > C return > C endsr > > > > > > > > > > > > > >-----Original Message----- >From: BP Khoo [mailto:[EMAIL PROTECTED] >Sent: 28 February 2006 02:50 >To: [email protected] >Subject: RE: [Easy400Group] Problems with Firstcgi pgm using CGIDEV2 > > >Hi, >In the program look for gethtml or gethtmlifs and check wheather the files >used has the section name listed in the debug file or not. >rgds, >Ban Peow > > > > > > >From: "Garrett, Stuart" <[EMAIL PROTECTED]> > >Reply-To: [email protected] > >To: "'[email protected]'" <[email protected]> > >Subject: RE: [Easy400Group] Problems with Firstcgi pgm using CGIDEV2 > >Date: Mon, 27 Feb 2006 14:56:18 -0000 > > > >May have found somehting thanks to the debug view ... When i try to run > >the program from the browser, i get the following records added to the > >debug file in my development library: > > > >WrtSection: Failed when calling QtmhWrStout. Msgid = CPF3C17. Message >data: > > > >WrtJobDbg: 236625/QTMHHTTP/CGIDEV2APA > > > >WrtSection: Section TOP not found. > > > >WrtSection: Section TABSTR not found. > > > >WrtSection: Section TABROW not found. > > > >WrtSection: Section TABROW not found. > > > >WrtSection: Section TABROW not found. > > > >WrtSection: Section TABEND not found. > > > >WrtSection: Section FORM not found. > > > >Im rather new to RPG ILE and have looked at the code but cannot see why > >this is failing. I have not modified the test cgi (firstcgi.pgm) src in > >any way > >- > >it is as CGIDEV2 installation restores and modifys it. > > > >I can see in the src for firstcgi the statement - /copy > >CGIDEVPSS/qrpglesrc,prototypeb which contains the Wrtsection prototype > > > >Any ideas what the Debug file is pointing to? > > > >Stuart > > > > > > > > > > _____ > > > >From: [email protected] > >[mailto:[EMAIL PROTECTED] On Behalf Of > >[EMAIL PROTECTED] > >Sent: 27 February 2006 14:37 > >To: [email protected] > >Subject: Re: [Easy400Group] Problems with Firstcgi pgm using CGIDEV2 > > > > > > > >Check your CGIDEBUG file for errors. The path should be something like > >YOURCGILIB/CGIDEBUG. If the error is occurring in CGIDEV2, (ie. path > >to your HTML is wrong, section name is wrong...) you should see some > >sort of message in CGIDEBUG. If there are no messages there, you > >should set up your CGI application to log the job number your CGI > >application is using to > >CGIDEBUG. Simply add the following code to the top of your CGI program > >somewhere and recompile: > > > >callp wrtjobdbg(*on) > > > >After running the CGI program again, go to the last record in CGIDEBUG. > >You > >should (hopefully) see a job number and you can view the logs for that > >job for clues as to what the problem is. > > > > > > > > > > > >"stuart5170" <[EMAIL PROTECTED]> > >Sent by: [email protected] > > > > > >02/27/2006 06:54 AM > > > > > >Please respond to > >[email protected] > > > > > > > >To > >[email protected] > > > >cc > > > >Subject > >[Easy400Group] Problems with Firstcgi pgm using CGIDEV2 > > > > > > > > > > > > > > Hi > > > > I have been given the job of setting up CGIDEV2 on our iseries for > >development. > > So far, everything has been fine. I initially set up a server > >instance which processed Cgi fine (created a test pgm hellothere found > >In a tutorial sample) > > Ive now installed CGIDEV2 and got that web instance up and running. > >The demo pages all work fine. > > Ive run the SETCGILIB process and have a development library. > >Ive created the firstcgi module and then compiled program FIRSTCGI. > > > > When I try to run this from a web browser - > >http://1.1.1.1:8014/cgidevpssp/firstcgi > > > > I get the 'http 500 - internal server error' > > > > Im not sure what could be the issue here, the http directives seem > >ok. > > > > I moved my hellothere test cgi pgm to the development library > >(CGIDEVPSSP) and this runs > >fine :http://1.1.1.1:8014/cgidevpssp/hellothere > > > > Could anyone point me in the direction of where I should be looking > >to resolve this? > > > >Thank you > >Stuart > > > > > > > > > > > > > >Yahoo! Groups Links > > > > > > > > > > > > > > > > > > > > > > > >SPONSORED LINKS > >How > ><http://groups.yahoo.com/gads?t=ms&k=How+to+format+a+computer+hard+driv > >e&w1= > >How+to+format+a+computer+hard+drive&w2=Cobol+programmer&w3=Iseries+400& > >How+to+format+a+computer+hard+w4=Ho > >w+to+format+a+computer&c=4&s=110&.sig=GszsdnimLS-dvcnmub6phw> to format > >w+to+format+a+a > >computer hard drive Cobol > ><http://groups.yahoo.com/gads?t=ms&k=Cobol+programmer&w1=How+to+format+ > >a+com > >puter+hard+drive&w2=Cobol+programmer&w3=Iseries+400&w4=How+to+format+a+ > >puter+hard+compu > >ter&c=4&s=110&.sig=AbZ-KLSGS2TJO7G7jeD5RQ> programmer Iseries > ><http://groups.yahoo.com/gads?t=ms&k=Iseries+400&w1=How+to+format+a+com > >puter > >+hard+drive&w2=Cobol+programmer&w3=Iseries+400&w4=How+to+format+a+compu > >+hard+ter&c > >=4&s=110&.sig=XE1haYjZMUhU-WSfZCdqgg> 400 How > ><http://groups.yahoo.com/gads?t=ms&k=How+to+format+a+computer&w1=How+to > >+form > >at+a+computer+hard+drive&w2=Cobol+programmer&w3=Iseries+400&w4=How+to+f > >at+a+computer+hard+ormat > >+a+computer&c=4&s=110&.sig=qIhBH8f1R3fGarcZfk2pRg> to format a computer > > > > > > _____ > > > >YAHOO! GROUPS LINKS > > > > > > > >* Visit your group "Easy400Group > ><http://groups.yahoo.com/group/Easy400Group> " on the web. > > > > > >* To unsubscribe from this group, send an email to: > > [EMAIL PROTECTED] > ><mailto:[EMAIL PROTECTED]> > > > > > >* Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service > ><http://docs.yahoo.com/info/terms/> . > > > > > > _____ > > > > > > > > > >*********************************************************************** > >***** This email may contain confidential material. > >If you were not an intended recipient, > >Please notify the sender and delete all copies. > >We may monitor email to and from our network. > > > >*********************************************************************** > >***** > > > > > >_________________________________________________________________ >Get your mobile ringtones, operator logos and picture messages from MSN >Mobile http://msn.smsfactory.no/ > > > > >Yahoo! Groups Links > > > > > > > > >**************************************************************************** >This email may contain confidential material. >If you were not an intended recipient, >Please notify the sender and delete all copies. >We may monitor email to and from our network. > >**************************************************************************** > > _________________________________________________________________ Find love online with MSN Personals. http://match.msn.com.my/match/mt.cfm?pg=channel Yahoo! Groups Links <*> To visit your group on the web, go to: http://groups.yahoo.com/group/Easy400Group/ <*> To unsubscribe from this group, send an email to: [EMAIL PROTECTED] <*> Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/
