******************************************************************** * Sample RPG Script - Sample RPG script that returns input values * * Source: WWWSAMPLES/QRPGSRC (CGIRTEST) * Object: WWWCGI/CGIRTEST *PGM * * Program notes: * 1)4 server APIs are called: * WWWGETEN - Get environment variables * WWWWRTHD - Return response header to the browser (2 CR,LF) * WWWWRTCL - Return results to the browser (1 CR,LF) * WWWWRITE - Return results to the browser (0 CR,LF) * * Compile notes: * 1)Add library WWWSERVER to the library list. * 2)Text is uppercased so the script will work correctly when * running under CCSID 5026. ******************************************************************** ******************************************************************** * * Array definitions E ENV 1 19 20 E TXT 1 3 80 E VAR 20 1 E VALA 999 1 * ******************************************************************** * * Constants used by the sample program I '' C HTML I '' C EHTML I '' C BODY I '' C EBODY I '' C EUL I '
  • ' C LI I ' = ' C EQ * * Binary fields used by the sample program IBINFLD DS I B 1 40VARLEN I B 5 80VALBP I B 9 120VALBA I B 13 160BYTIN I B 17 200BYTOUT I B 21 240I I B 25 280J IVAL DS I 1 999 VALA * * PLIST for WWWGETEN API C GETEN PLIST C PARM VAR C PARM VARLEN C PARM VAL C PARM VALBP C PARM VALBA * * PLIST for WWWWRITE, WWWWRTHD, WWWWRTCL APIs C WWRITE PLIST C PARM VAL C PARM BYTIN C PARM BYTOUT * ******************************************************************** ******************************************************************** * * MAIN * ******************************************************************** C EXSR SRTOP C EXSR SRGET C EXSR SREND C SETON LR C RETRN * * Subroutine used to retrieve form variables and write to survey database C SRGET BEGSR C Z-ADD1 I C I DOWLE19 * Return
  • C MOVELLI VAL C Z-ADD4 BYTIN C CALL 'WWWWRITE'WWRITE * Set environment variable name and length C MOVEAENV,I VAR C Z-ADD1 J C VAR,J DOWNE*BLANK C ADD 1 J C ENDDO C J SUB 1 VARLEN * Return environment variable name C MOVEAVAR VAL C Z-ADDVARLEN BYTIN C CALL 'WWWWRITE'WWRITE * Return = C MOVELEQ VAL C Z-ADD3 BYTIN C CALL 'WWWWRITE'WWRITE * Retrieve environment variable C Z-ADD999 VALBP C CALL 'WWWGETEN'GETEN * Return environment variable value C Z-ADDVALBA BYTIN C CALL 'WWWWRTCL'WWRITE C ADD 1 I C ENDDO C ENDSR * * Subroutine used to return the top of the document C SRTOP BEGSR * Send response header which sets the document content type C MOVEATXT,1 VAL C Z-ADD80 BYTIN C CALL 'WWWWRTHD'WWRITE * C MOVELHTML VAL C Z-ADD6 BYTIN C CALL 'WWWWRTCL'WWRITE * C MOVEATXT,2 VAL C Z-ADD80 BYTIN C CALL 'WWWWRTCL'WWRITE * C MOVELBODY VAL C Z-ADD6 BYTIN C CALL 'WWWWRTCL'WWRITE * C MOVEATXT,3 VAL C Z-ADD80 BYTIN C CALL 'WWWWRTCL'WWRITE * C MOVELUL VAL C Z-ADD4 BYTIN C CALL 'WWWWRTCL'WWRITE C ENDSR * * Subroutine used to return the end of the document C SREND BEGSR * C MOVELEUL VAL C Z-ADD5 BYTIN C CALL 'WWWWRTCL'WWRITE * C MOVELEBODY VAL C Z-ADD7 BYTIN C CALL 'WWWWRTCL'WWRITE * C MOVELEHTML VAL C Z-ADD7 BYTIN C CALL 'WWWWRTCL'WWRITE C ENDSR ** SERVER_SOFTWARE SERVER_NAME GATEWAY_INTERFACE SERVER_PROTOCOL SERVER_PORT REQUEST_METHOD PATH_INFO PATH_TRANSLATED SCRIPT_NAME QUERY_STRING REMOTE_HOST REMOTE_ADDR REMOTE_USER REMOTE_PASSWORD_MD5 AUTH_TYPE CONTENT_TYPE CONTENT_LENGTH HTTP_USER_AGENT HTTP_ACCEPT ** CONTENT-TYPE: TEXT/HTML CGI/1.1 RPG TEST SCRIPT REPORT

    CGI/1.1 RPG TEST SCRIPT REPORT: