*********************************************************************
* RPG ILE MODULE CGIDEV2/PERSIST01
*
* After compiling this RPG MODULE,
* create the related program with the following command:
*
* CRTBNDRPG PGM(CGIDEV2/PERSIST01) SRCFILE(CGIDEV2/QRPGLESRC)
* DFTACTGRP(*NO) ACTGRP(PERSIST01) DBGVIEW(*SOURCE)
*
*********************************************************************
/copy CGIDEV2/qrpglesrc,hspecs
/copy CGIDEV2/qrpglesrc,hspecsbnd
/copy CGIDEV2/qrpglesrc,prototypeb
/copy CGIDEV2/qrpglesrc,usec
/copy CGIDEV2/qrpglesrc,variables3
*--------------------------------------------------------------------
* PROGRAM VARIABLES
*--------------------------------------------------------------------
D request s 10
D lng s 3
D extHtml s 2000 inz('/cgidev/html/persist01.txt')
D IfsMultIndicators...
d ds
D NoErrors n
D NameTooLong n
D NotAccessible n
D NoFilesUsable n
D DupSections n
D FileIsEmpty n
D OsRls s 9
D NbrTimes S 5I 0
D NbrTimesC S 5A
D Handle S 15A
*=====================================================================
* MAIN PROCESS LINE
*=====================================================================
/free
nbrvars=zhbgetinput(savedquerystring:qusec);
request=zhbgetvarUpper('request');
lng =zhbgetvarUpper('lng');
IfsMultIndicators=getHtmlIfsMult(%trim(extHtml):'«as400»');
// ONLY THE 1ST TIME THROUGH
if handle=' ';
// Retrieve current OS/400 release
OsRls=RtvOsRls();
if OsRls«'V04R03M00';
exsr setall;
wrtsection('oldos400 return end *fini');
*inlr=*on;
return;
endif;
// Create a new handle.
handle=getsessionid();
endif;
// One more time
NbrTimes+=1;
NbrTimesC=%trim(%char(NbrTimes));
// Process html input data and provide output html response
exsr setall;
wrtsection('againtop legenda again end *fini');
if request='RESTART';
*inlr=*on;
endif;
return;
/end-free
*---------------------------------------------------------------------
* Set variable data for all sections
*---------------------------------------------------------------------
/free
Begsr SetAll;
// Handle (session ID)
updHTMLvar('HANDLE':Handle:InitHTMLVars);
// National language
updHTMLvar('LNG':lng);
// Number of calls so far
updhtmlvar('NUMBER':%trim(%editc(NbrTimes:'1')));
// OS/400 release currently installed
updHTMLvar('OSRLS':osrls);
Endsr;
/end-free
|