phweb question specific to vms - solved

Joe Boyle joeboyle_adt@hotmail.com
Mon, 05 Jul 2004 14:06:14 +0100


<html><div style='background-color:'><DIV class=RTE>
<P>GREAT code :-)</P>
<P>but just a couple of points,</P>
<P>1. am really surprised that&nbsp;"LNM$PROCESS" worked,&nbsp; I seem to recall nearly always having to use "LNM$JOB".</P>
<P>2. to address's Chris's point on large directories, you might aswell go the whole hog and create a directory to put the file in.</P>
<P>3. I still think&nbsp;it would be&nbsp;better to pass the file string as a temp, and&nbsp;do a deletesystemval followed by a setsystemval in the postpath in every screen.&nbsp;As Bob says you could find that the PHwebwserver refresh has kicked in, or some other form of interruption.<BR><BR>4. how about adding the getsystemval, you could compare it with the setsystemval string, and if there is not a match, error out to the previous/higher page.</P>
<P>5. to diagnose any future logical setting related problems, you could always put 'sho logical string* /full' in a command file, run it from the PHweb page&nbsp;and then analyse the results on the server.</P>
<P>many thanks for supplying the solution,</P></DIV>
<DIV></DIV>&gt;From: &lt;Daniel.Miller@nightfreight.co.uk&gt; 
<DIV></DIV>&gt;To: &lt;powerh-l@sowder.com&gt; 
<DIV></DIV>&gt;Subject: RE: phweb question specific to vms - solved 
<DIV></DIV>&gt;Date: Mon, 5 Jul 2004 11:52:18 +0100 
<DIV></DIV>&gt; 
<DIV></DIV>&gt;hi there, 
<DIV></DIV>&gt; 
<DIV></DIV>&gt;I asked the original question and it has indeed turned out to be a problem with CLOSE which i think is now solved.&nbsp;&nbsp;Ive been using the CLOSE verb rather than the file statement option, sorry didnt see that would probably have sorted it too. 
<DIV></DIV>&gt; 
<DIV></DIV>&gt;What concerned me most was that setting process level logicals in phweb might be a dangerous or unreliable technique but it does appear to work. 
<DIV></DIV>&gt; 
<DIV></DIV>&gt;The problem has turned out to be my second screen which had CLOSE's in the EXIT procedure, which is working since i moved them to the POSTFIND procedure instead.&nbsp;&nbsp;The HTMLFILECLOSE didnt seem to make any difference. 
<DIV></DIV>&gt; 
<DIV></DIV>&gt; 
<DIV></DIV>&gt; 
<DIV></DIV>&gt;Heres a cut down sample anyway of the two programs anyway: 
<DIV></DIV>&gt; 
<DIV></DIV>&gt; 
<DIV></DIV>&gt;Page DM html application DM_APP activities ENTRY, FIND 
<DIV></DIV>&gt; 
<DIV></DIV>&gt;Htmlbuttons "Add" label "Search", "Reset" label "Clear" 
<DIV></DIV>&gt; 
<DIV></DIV>&gt; 
<DIV></DIV>&gt;Temp T_FILE_NO&nbsp;&nbsp;num*8 
<DIV></DIV>&gt;Temp T_PARM_NO&nbsp;&nbsp;num*8 
<DIV></DIV>&gt; 
<DIV></DIV>&gt; 
<DIV></DIV>&gt;File PHWEB-PARMS-CONTROL designer 
<DIV></DIV>&gt; 
<DIV></DIV>&gt;File PHWEB-PARMS designer 
<DIV></DIV>&gt;Access via PARM-NO using T_PARM_NO 
<DIV></DIV>&gt; 
<DIV></DIV>&gt;Temp T-COMMAND char*240 
<DIV></DIV>&gt; 
<DIV></DIV>&gt; 
<DIV></DIV>&gt; 
<DIV></DIV>&gt;;*** Temporary item fields here where user can enter part of an address *** 
<DIV></DIV>&gt; 
<DIV></DIV>&gt;Field T_FILE_NO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; htmlhidden 
<DIV></DIV>&gt;Field T_PARM_NO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; htmlhidden 
<DIV></DIV>&gt; 
<DIV></DIV>&gt;Nextpage DM2 after update &amp; 
<DIV></DIV>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; application DM_APP action "Search" passing T_FILE_NO, T_PARM_NO 
<DIV></DIV>&gt; 
<DIV></DIV>&gt; 
<DIV></DIV>&gt;Procedure internal GET-PARM-NO 
<DIV></DIV>&gt;Begin 
<DIV></DIV>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Lock PHWEB-PARMS-CONTROL 
<DIV></DIV>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Get PHWEB-PARMS-CONTROL via NF-LINK using "NF" 
<DIV></DIV>&gt; 
<DIV></DIV>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Let T_FILE_NO = FILE-NO of PHWEB-PARMS-CONTROL 
<DIV></DIV>&gt; 
<DIV></DIV>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If FILE-NO of PHWEB-PARMS-CONTROL &lt; 99999999 
<DIV></DIV>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Then let FILE-NO of PHWEB-PARMS-CONTROL = &amp; 
<DIV></DIV>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FILE-NO of PHWEB-PARMS-CONTROL + 1 
<DIV></DIV>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Else let FILE-NO of PHWEB-PARMS-CONTROL = 1 
<DIV></DIV>&gt; 
<DIV></DIV>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Put PHWEB-PARMS-CONTROL reset 
<DIV></DIV>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Unlock PHWEB-PARMS-CONTROL 
<DIV></DIV>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Close PHWEB-PARMS-CONTROL 
<DIV></DIV>&gt; 
<DIV></DIV>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If not setsystemval("PHWEB-PARMS", "PHWEB-PARMS" &amp; 
<DIV></DIV>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; + ascii(T_FILE_NO,8) + ".TMP", LOGICAL) 
<DIV></DIV>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Then info " " 
<DIV></DIV>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Let T-COMMAND = "CREATE/FDL=NFD:PHWEB-PARMS.FDL PHWEB-PARMS" &amp; 
<DIV></DIV>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; + ascii(T_FILE_NO,8) + ".TMP" 
<DIV></DIV>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Run command T-COMMAND 
<DIV></DIV>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Let T_PARM_NO = 1 
<DIV></DIV>&gt;End 
<DIV></DIV>&gt; 
<DIV></DIV>&gt;Procedure preupdate 
<DIV></DIV>&gt;Begin 
<DIV></DIV>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Do internal GET-PARM-NO 
<DIV></DIV>&gt; 
<DIV></DIV>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ; extra processing to "put" to PHWEB-PARMS here: 
<DIV></DIV>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ; Passes temporary fields to an external procedure which returns 
<DIV></DIV>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ; a list of matching addresses, those addresses are then added to 
<DIV></DIV>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ; PHWEB-PARMS 
<DIV></DIV>&gt; 
<DIV></DIV>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Close PHWEB-PARMS 
<DIV></DIV>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If not deletesystemval("PHWEB-PARMS", LOGICAL, "LNM$PROCESS") 
<DIV></DIV>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Then info " " 
<DIV></DIV>&gt;End 
<DIV></DIV>&gt; 
<DIV></DIV>&gt; 
<DIV></DIV>&gt; 
<DIV></DIV>&gt;can clear 
<DIV></DIV>&gt;Set Ver Err 
<DIV></DIV>&gt;Set html buttons off 
<DIV></DIV>&gt; 
<DIV></DIV>&gt;Page DM2 html application DM_APP &amp; 
<DIV></DIV>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; htmltitle "Address Search Results" &amp; 
<DIV></DIV>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; htmlreceiving T_FILE_NO, T_PARM_NO &amp; 
<DIV></DIV>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; activities FIND 
<DIV></DIV>&gt; 
<DIV></DIV>&gt;Temp T_FILE_NO&nbsp;&nbsp;num*8 
<DIV></DIV>&gt;Temp T_PARM_NO&nbsp;&nbsp;num*8 
<DIV></DIV>&gt; 
<DIV></DIV>&gt;File PHWEB-PARMS primary occurs 50 
<DIV></DIV>&gt;Access via PARM-NO using T_PARM_NO 
<DIV></DIV>&gt; 
<DIV></DIV>&gt; 
<DIV></DIV>&gt;Field T_FILE_NO htmlhidden 
<DIV></DIV>&gt;Field T_PARM_NO htmlhidden 
<DIV></DIV>&gt; 
<DIV></DIV>&gt;Cluster occurs with PHWEB-PARMS 
<DIV></DIV>&gt; 
<DIV></DIV>&gt;; *** address data from PHWEB-PARMS is displayed here *** 
<DIV></DIV>&gt; 
<DIV></DIV>&gt;Cluster 
<DIV></DIV>&gt; 
<DIV></DIV>&gt;Procedure POSTPATH 
<DIV></DIV>&gt;Begin 
<DIV></DIV>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If not setsystemval("PHWEB-PARMS", "PHWEB-PARMS" &amp; 
<DIV></DIV>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; + ascii(T_FILE_NO,8) + ".TMP", LOGICAL) 
<DIV></DIV>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Then info " " 
<DIV></DIV>&gt;End 
<DIV></DIV>&gt; 
<DIV></DIV>&gt;;Procedure EXIT 
<DIV></DIV>&gt;Procedure POSTFIND 
<DIV></DIV>&gt;Begin 
<DIV></DIV>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Close PHWEB-PARMS 
<DIV></DIV>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If not deletesystemval("PHWEB-PARMS", LOGICAL, "LNM$PROCESS") 
<DIV></DIV>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Then info " " 
<DIV></DIV>&gt;End 
<DIV></DIV>&gt; 
<DIV></DIV>&gt; 
<DIV></DIV>&gt;= = = = = = = = = = = = = = = = = = = = = = = = = = = = 
<DIV></DIV>&gt;Mailing list: powerh-l@lists.sowder.com 
<DIV></DIV>&gt;Subscribe: "subscribe" in message body to powerh-l-request@lists.sowder.com 
<DIV></DIV>&gt;Unsubscribe: "unsubscribe &lt;password&gt;" in message body to powerh-l-request@lists.sowder.com 
<DIV></DIV>&gt;http://lists.sowder.com/mailman/listinfo/powerh-l 
<DIV></DIV>&gt;This list is closed, thus to post to the list you must be a subscriber. 
<DIV></DIV></div></html>