To follow up on what the others have said;
there are broadly speaking two ways to "redirect".
a) you pass back some code to the browser which goes something like this;
"dude, you asked for the wrong page, rather ask for xxxx"
you can do this in NetTalk by calling;
p_web.redirect('somewhere.htm')
if the redirect should be a POST rather than a GET then
p_web.redirect('somewhere.htm',,true)
(note the two commas).
This approach though is not advised for several reasons;
i) it's inefficient. The response goes all the way to the browser, and the browser has to repeat the request.
ii) It's likely to break if the request is asyncronous. (think popup-form).
iii) it must be done in the correct place, before anything else is sent to the browser.
In short - you probably don't want to do it this way.
b) Inside the code you call a procedure from inside another procedure. In essence "server side redirecting". You can do this by modifying the
p_web.self.Requestfilename
property
"by the end of the ProcessLink method".
The problem with this method is around Forms. Forms are very complex animals architecturally speaking, and require to go through a whole bunch of "stages". These stages can also vary if the form is a popup, or a page. By the time you've decided to "redirect" - if you are wanting to redirect to _another form_ then that form may miss some of the stages. This may, or may not, be an issue. If you are going to a Memory form you probably have a chance of it working though.
So If the two approaches both have flaws, then what is the solution?
The solution is to have the original procedure you are going to cope with both possible outcomes.
For example, let's say you're coding a "submit" button for an order.
The order may complete successfully, or fail. So code the "result of order" page (form) to display either the "success" result, or the "fail" result. This approach is a lot cleaner, a lot easier to maintain, and is a lot more compatible with ajax and so on.
Cheers
Bruce