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 "LNM$PROCESS" worked, 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 it would be better to pass the file string as a temp, and do a deletesystemval followed by a setsystemval in the postpath in every screen. 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 and then analyse the results on the server.</P>
<P>many thanks for supplying the solution,</P></DIV>
<DIV></DIV>>From: <Daniel.Miller@nightfreight.co.uk>
<DIV></DIV>>To: <powerh-l@sowder.com>
<DIV></DIV>>Subject: RE: phweb question specific to vms - solved
<DIV></DIV>>Date: Mon, 5 Jul 2004 11:52:18 +0100
<DIV></DIV>>
<DIV></DIV>>hi there,
<DIV></DIV>>
<DIV></DIV>>I asked the original question and it has indeed turned out to be a problem with CLOSE which i think is now solved. Ive been using the CLOSE verb rather than the file statement option, sorry didnt see that would probably have sorted it too.
<DIV></DIV>>
<DIV></DIV>>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>>
<DIV></DIV>>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. The HTMLFILECLOSE didnt seem to make any difference.
<DIV></DIV>>
<DIV></DIV>>
<DIV></DIV>>
<DIV></DIV>>Heres a cut down sample anyway of the two programs anyway:
<DIV></DIV>>
<DIV></DIV>>
<DIV></DIV>>Page DM html application DM_APP activities ENTRY, FIND
<DIV></DIV>>
<DIV></DIV>>Htmlbuttons "Add" label "Search", "Reset" label "Clear"
<DIV></DIV>>
<DIV></DIV>>
<DIV></DIV>>Temp T_FILE_NO num*8
<DIV></DIV>>Temp T_PARM_NO num*8
<DIV></DIV>>
<DIV></DIV>>
<DIV></DIV>>File PHWEB-PARMS-CONTROL designer
<DIV></DIV>>
<DIV></DIV>>File PHWEB-PARMS designer
<DIV></DIV>>Access via PARM-NO using T_PARM_NO
<DIV></DIV>>
<DIV></DIV>>Temp T-COMMAND char*240
<DIV></DIV>>
<DIV></DIV>>
<DIV></DIV>>
<DIV></DIV>>;*** Temporary item fields here where user can enter part of an address ***
<DIV></DIV>>
<DIV></DIV>>Field T_FILE_NO htmlhidden
<DIV></DIV>>Field T_PARM_NO htmlhidden
<DIV></DIV>>
<DIV></DIV>>Nextpage DM2 after update &
<DIV></DIV>> application DM_APP action "Search" passing T_FILE_NO, T_PARM_NO
<DIV></DIV>>
<DIV></DIV>>
<DIV></DIV>>Procedure internal GET-PARM-NO
<DIV></DIV>>Begin
<DIV></DIV>> Lock PHWEB-PARMS-CONTROL
<DIV></DIV>> Get PHWEB-PARMS-CONTROL via NF-LINK using "NF"
<DIV></DIV>>
<DIV></DIV>> Let T_FILE_NO = FILE-NO of PHWEB-PARMS-CONTROL
<DIV></DIV>>
<DIV></DIV>> If FILE-NO of PHWEB-PARMS-CONTROL < 99999999
<DIV></DIV>> Then let FILE-NO of PHWEB-PARMS-CONTROL = &
<DIV></DIV>> FILE-NO of PHWEB-PARMS-CONTROL + 1
<DIV></DIV>> Else let FILE-NO of PHWEB-PARMS-CONTROL = 1
<DIV></DIV>>
<DIV></DIV>> Put PHWEB-PARMS-CONTROL reset
<DIV></DIV>> Unlock PHWEB-PARMS-CONTROL
<DIV></DIV>> Close PHWEB-PARMS-CONTROL
<DIV></DIV>>
<DIV></DIV>> If not setsystemval("PHWEB-PARMS", "PHWEB-PARMS" &
<DIV></DIV>> + ascii(T_FILE_NO,8) + ".TMP", LOGICAL)
<DIV></DIV>> Then info " "
<DIV></DIV>> Let T-COMMAND = "CREATE/FDL=NFD:PHWEB-PARMS.FDL PHWEB-PARMS" &
<DIV></DIV>> + ascii(T_FILE_NO,8) + ".TMP"
<DIV></DIV>> Run command T-COMMAND
<DIV></DIV>> Let T_PARM_NO = 1
<DIV></DIV>>End
<DIV></DIV>>
<DIV></DIV>>Procedure preupdate
<DIV></DIV>>Begin
<DIV></DIV>> Do internal GET-PARM-NO
<DIV></DIV>>
<DIV></DIV>> ; extra processing to "put" to PHWEB-PARMS here:
<DIV></DIV>> ; Passes temporary fields to an external procedure which returns
<DIV></DIV>> ; a list of matching addresses, those addresses are then added to
<DIV></DIV>> ; PHWEB-PARMS
<DIV></DIV>>
<DIV></DIV>> Close PHWEB-PARMS
<DIV></DIV>> If not deletesystemval("PHWEB-PARMS", LOGICAL, "LNM$PROCESS")
<DIV></DIV>> Then info " "
<DIV></DIV>>End
<DIV></DIV>>
<DIV></DIV>>
<DIV></DIV>>
<DIV></DIV>>can clear
<DIV></DIV>>Set Ver Err
<DIV></DIV>>Set html buttons off
<DIV></DIV>>
<DIV></DIV>>Page DM2 html application DM_APP &
<DIV></DIV>> htmltitle "Address Search Results" &
<DIV></DIV>> htmlreceiving T_FILE_NO, T_PARM_NO &
<DIV></DIV>> activities FIND
<DIV></DIV>>
<DIV></DIV>>Temp T_FILE_NO num*8
<DIV></DIV>>Temp T_PARM_NO num*8
<DIV></DIV>>
<DIV></DIV>>File PHWEB-PARMS primary occurs 50
<DIV></DIV>>Access via PARM-NO using T_PARM_NO
<DIV></DIV>>
<DIV></DIV>>
<DIV></DIV>>Field T_FILE_NO htmlhidden
<DIV></DIV>>Field T_PARM_NO htmlhidden
<DIV></DIV>>
<DIV></DIV>>Cluster occurs with PHWEB-PARMS
<DIV></DIV>>
<DIV></DIV>>; *** address data from PHWEB-PARMS is displayed here ***
<DIV></DIV>>
<DIV></DIV>>Cluster
<DIV></DIV>>
<DIV></DIV>>Procedure POSTPATH
<DIV></DIV>>Begin
<DIV></DIV>> If not setsystemval("PHWEB-PARMS", "PHWEB-PARMS" &
<DIV></DIV>> + ascii(T_FILE_NO,8) + ".TMP", LOGICAL)
<DIV></DIV>> Then info " "
<DIV></DIV>>End
<DIV></DIV>>
<DIV></DIV>>;Procedure EXIT
<DIV></DIV>>Procedure POSTFIND
<DIV></DIV>>Begin
<DIV></DIV>> Close PHWEB-PARMS
<DIV></DIV>> If not deletesystemval("PHWEB-PARMS", LOGICAL, "LNM$PROCESS")
<DIV></DIV>> Then info " "
<DIV></DIV>>End
<DIV></DIV>>
<DIV></DIV>>
<DIV></DIV>>= = = = = = = = = = = = = = = = = = = = = = = = = = = =
<DIV></DIV>>Mailing list: powerh-l@lists.sowder.com
<DIV></DIV>>Subscribe: "subscribe" in message body to powerh-l-request@lists.sowder.com
<DIV></DIV>>Unsubscribe: "unsubscribe <password>" in message body to powerh-l-request@lists.sowder.com
<DIV></DIV>>http://lists.sowder.com/mailman/listinfo/powerh-l
<DIV></DIV>>This list is closed, thus to post to the list you must be a subscriber.
<DIV></DIV></div></html>