Session problem in BSP

Hi,
I have a Stateful BSP application running from portal.
In this application INIT method is not called.
Do_REQUEST is the first method to get executed.
While testing in portal I logon with user id user1, after some testing, I logout using logout button from the portal and re-login with user2. But the application continues the execution in user1 login.  This does not occur when DO_INIT is used. Please suggest what could be the reason?
Regards
Jyoti.

Hi Jyoti,
it seems your logoff doesn't work correctly in the BSP application.
To check this run your application outside the portal.
Check TA SM04 after you've closed the browser window. Is the session gone?
If not, look at BSP application 'system', integrate 'session_single_frame.htm' into you application,
some documentation is included as comment, see http://help.sap.com/saphelp_47x200/helpdata/en/6b/9d91d062cc52419f23926ff1bf2ad3/content.htm for more.
After you have done this, test again. If the session is gone after you've closed the browser window,
repeat the test from the portal using the 'logoff' link.
regards,
Ulli
Message was edited by: Ulli Hoffmann

Similar Messages

  • Java Session problem while sending mail(using javamail) using Pl/SQL

    Hello ...
    i am using Java stored procedure to send mail. but i'm getting java session problem. means only once i can execute that procedure
    pls any help.

    props.put("smtp.gmail.com",host);I doubt javamail recognizes the 'smtp.gmail.com' property. I think it expects 'mail.host'. Of course since it cannot find a specified howt it assumes by default localhost
    Please format your code when you post the next time, there is a nice 'code' button above the post area.
    Mike

  • Session problem in jsp application

    I face a session problem. I setting everything in a session and when pass back to a main page, the value is not display in the screen. But after refresh the value will display in the screen and this kind of problem only come out very few time and i dun knw how to solve this...
    Anyone here can give me some idea and suggestion or the way to solve this kind of problem!!!

    define "2 different clients"
    1) You have 2 different PCs and it's using the same session ID for both? I doubt this. I think the server is advanced enough not to use give a session ID that's already been created.
    2) You have 1 PC and are using IE or Netscape and using File > New Window to open a new window and connect again. This you can't fix without using only URL rewriting to manage session, because the different windows will share the same session cookies.

  • Problem launching BSP application

    Hi all,
    I'm currently working in CRM 5.0 and I'm trying to launch the BSP application (CRM_IC -> default_dh.htm). I was able to succesfully launch it in the web browser. However, I could only see the toolbar buttons in the browser. The Workarea and the Navigation bar was completely blank. I'm using DEFAULT SAP IC Web Client profile and this is assigned to my user id.
    I have also checked to see if all the services are active in the ICF. Could anyone please tell me how to resolve it?
    Thanks,
    Sahil

    Hello Experts,
    I am trying to launch CRM_IC and facing same problem either ways - CRM GUI and through web browser URL.
    I get following message:
      "Loading" on the main window and additionally a small window pops up for a fraction of seconds with following message
      "Ending the user session.....
       <img width = "1" height = "1" src = "/sap/bc/bsp/sap/crm_ic/default.htm sap-
       sessioncmd=logoff">
    After this additional window, session teminates with nothing happening on the first window and message remains as "Loading".
    Is there any way to get out of it?
    I need to launch IC webclient.
    Am I following the correct approach or there is some other approach to load BSP -
    CRM_IC ?
    Please let me know.
    Thanks in advance,
    Milind Nandedkar

  • Need to warn user of session timeout in BSP app hap_document......

    Hi,
    We're using the hap_document app to allow employees to change appraisal documents in ESS and for managers to create them thru MSS....
    When employees have their documents open for more than 1 hour, the next time they click on save, it takes them to the session timeout (ICM, version 6040, module icxxthr_mt.c)....
    Is there a way to add a timer to the document.htm or body.htm pages in the application to start a timer, reset it each time user clicks on save, and warn him with a popup when we're within 5 minutes to a timeout...
    I've read messages on the BSP thread that say...
    "Document.htm is split in two frames. One hidden to enable session handling, the second one visible which contains the document.
    So the document.htm is not refreshed, the second frame is refreshed. I tried your approach as well and was not able to tie the script to the second frame.
    Regards and Groetjes,
    Maurice"
    I've also read Thomas's stateful/stateless timeout parameters article...
    Can anyone help me with where I would put the timer javascript code (if not in document.htm or body.htm) and which timeout parameter to check...
    Thanks for all your help,
    Venkatesh

    Look at the sample code..Will solve your problem..
    <%@page language="abap" %>
    <%@extension name="htmlb" prefix="htmlb" %>
    <script type="text/javascript">
    function remind() {
    var msg = "Your Session will be timed out in 10 Secs";
    alert(msg);
    </script>
    <htmlb:content design="design2003" >
      <%
      data: v_rem type string.
      DATA: port TYPE STRING.
      port = request->get_header_field( if_http_header_fields_sap=>server_port ).
      DATA: services TYPE TABLE OF ICM_SINFO.
      CALL FUNCTION 'ICM_GET_INFO' TABLES SERVLIST = services.
      FIELD-SYMBOLS: <service> TYPE ICM_SINFO.
      DATA: wait TYPE STRING.
      READ TABLE services ASSIGNING <service> WITH KEY service = port.
      wait = <service>-KEEPALIVE - 10.
      CONDENSE wait.
      concatenate `'remind(`  wait `)',2000` into v_rem.
      %>
      <htmlb:page onLoad = "setTimeout(<%= v_rem %>)"
                  title  = " " >
        <htmlb:form>
          <htmlb:textView text   = "Hello World!"
                          design = "EMPHASIZED" />
          <htmlb:button text    = "Press Me"
                        onClick = "myClickHandler" />
        </htmlb:form>
      </htmlb:page>
    </htmlb:content>
    <i>* Reward each useful answer</i>
    Raja T

  • Calltransaction problem in BSP (po13)

    hi every one,
        i am doing one BSP application, in that i am using call transaction method to upload data to the TCODE: PO13,
    my problem is all the call transaction steps are working fine after that i am calling that call transaction with like this
    call transaction 'PO13' using i_bdcdata options from wa_options
                         messages into i_messtab.
    but when debugger comes to this step it giving me error.
    this is the dump i am getting:
    CNTL_SYSTEM_ERROR
    The ABAP call stack was:
    Method: CONSTRUCTOR of program CL_GUI_SPLITTER_CONTAINER=====CP
    Method: CREATE_SPLITTER_CONTROL of program CL_HR_OBJECTMANAGER===========CP
    Method: INIT of program CL_HR_OBJECTMANAGER===========CP
    Method: CREATE of program CL_HR_OBJECTMANAGER===========CP
    Form: CREATE_OBJECTMANAGER of program SAPMH5A0
    Form: INIT_DYNPRO_5000 of program SAPMH5A0
    Module: INIT_DYNPRO_5000 of program SAPMH5A0
    and more over it is working fine if i use session method when process session from SM35.
    can any body help me to out this .
    thanks in advance.

    Hi,
    This error occurs because a SAP GUI screen is asked to be launched, but in an HTTP context, this is not possible.
    I can see 2 solutions for that:
    - either build a BSP screen that will replace the SAP GUI screen to be launched.
    - or use WEBGUI service to call the SAP GUI from web.
    You might also be able to place the WEBGUI inside your BSP using an IFRAME HTML tag. The solution you will choose highly depends on what the BSP application is for.
    Hope it helps.
    Regards,
    Tanguy

  • Session Management in BSP applications

    Hello,
    I habe been developing the following application to send E-Mails from Outlook to SAP WEB AS Abap Stack:
    - I have created a COM-Addin in MS Outlook
    - When the user clicks on a button, that I have created, the currently marked E-Mail-Message is read
    - The E-Mail-Information is analysed
    - MS Internet Explorer is dynamically opened by my Outlook application
    - A html form is dynamically created
    - html form is posted dynamically to a BSP-application
    -> Basically what I have is a HTML form, that is posted to a BSP application
    I am facing the problem that Web AS is mixing up different sessions:
    - I have no user specified for my BSP application, that means whenever a client visits my page a login popup should appear
    - I have defined the first page of my web application as stateless
    So what I expected was, that whenever my html form is posted to the Web AS, I get a logon popup, and everytime my web page is called a new session is started
    Actually MS Internet Explorer and my BSP Web Application are acting differently:
    When I post the html form for the first time, the logon popup appears and everything works fine
    When I post the html form for the second time WITHOUT CLOSING THE FORMER INTERNET EXPLORER INSTANCE, the LOGON POPUP DOES NOT APPEAR, and the BSP application is using old, wrong data from the former html form
    When I CLOSE ALL INTERNET EXPLORER INSTANCES, THE LOGON POPUP APPEARS, and I get the correct information for my BSP application
    ->
    Whenever I have already sent a html form to the application and do not close all internet explorer instances, my BSP application mixes up old data
    Whenever I have already sent a html form to the application and CLOSE all internet explorer instances, my BSP application is working fine.
    I have the following settings for my BSP application in transaction SICF:
    - Logon Procedure: Stanadard
    - Anonymous Logon Data:
         Client: 301
         User: [blank]
         Password: [blank]
    Does anybody have an idea how to get my application to work correctly?
    - I cannot change internet explorer settings as I have many clients and no authorization for that
    - I can change (maybe meta data?) the html form
    - Are there any settings of the BSP application that I can change, so that my application works fine
    Thanks for your help in advance!
    Andreas

    Hello Sebastian,
    Thanks for your answer!!!
    Unfortunately I cannot close the brower window via javascript, as my BSP application is not simply one page reveiving the form and sending one response page, but the BSP application consists of more pages (providing search functionalities,...).
    I have tried the following:
    - I have opened a new Internet Explorer application "IE-application1"
    - I have started my MS Outlook application which (dynamically) opened a new Internet Explorer "window2".
    - The Mail was saved to SAP
    - I closed the "window2"
    - I sent another mail to SAP via "window3"
    -> SAP was still remembering the session of "window2" and mixed up the session (session info obviously was hold in "IE-application1")
    I did not fully understand your answer refering to BSP Application "system" and its page "session_single_frame.htm" together with the source code of "session_single_frame.htm".
    What I need is, to tell my startpage "index.htm" the following: Forget every cookie and session and whatever else you have had until now, take the input values of the html form and process them. Is this possible with "session_single_frame.htm"?
    Andreas

  • Session problem in a new window created by window.open()

    hello,
    I have a drugsearch.jsp page, I sessioned an durgCollection object on this jsp page using session.setAttribute("drugCollection",drugCollection);
    there is a link on this jsp which will call a javascript to open a new window .
    here is the javascript to open another new window:
    function openReportWindow()
    window.open("/drug/Report.jsp","report", "toolbar,scrollbars,width=800,height=800,left=100,top=10");
    but in the Report.jsp, I won't be able to get the same session object as in the calling jsp ( drugsearch.jsp) by calling session.getAttribute("drugCollection").
    if I change the link on drugsearch.jsp to link to the Report.jsp directly instead of opening a new window, then I can get the same session object from the Report.jsp.
    what's the problem? can someone give me an advice?
    thanks

    A session is assosiated with one client(browser).
    when you open a new browser, a new session is created. In order to have common place for both the browsers, try storing the data in the 'Servlet Context'

  • Problem with BSP MVC

    Hi all,
    I had a bsp application which is now running live in the organization. Recently, I got a problem report back from user, which is causing data loss.
    After the support team check the problem and found out the source of the problem. Let me briefly state the problem here. The application is using bsp mvc and it is stateful.
    First, when a user open the application in IE, it is a timesheet entry application, first page will display the time entry of that user for current month. let say the default selected month is September. then if the user wan to compare the entry with previous month, then he will open a new window (ctrl + N) or new tab (ctrl + T), then open the application again. Because of using SSO, the application will not prompt user to login again and will directly lead user to the time entry page. then the user change the month to August for the second new page.
    after the user change the month to august, it will refresh the model that hold the data of the month. means the model now carry August calendar. then the user go back to the first window or the first tab with september time entry, he try to add in new data into that time entry, and save. when it is saved, the september data will go into the August data not go into the September data. this causing data loss in September.
    If I tried this again with not using (ctrl + N) or (ctrl + T) but is open another new IE broswer instance, then it wont give this problem at all. because it create another new model to hold the calendar data. It work fine as long as the user not open two or more windows or tab in a same IE instances.
    Does anyone here meet this problem before or could provide any suggestion to solve this kind of problem? I cant simply changed the application to stateless because it already using worldwide and it will cause a lot of problem. Sorry if my question here was not clear enough.
    Thanks you. (reward point will be given for helpful answer.)

    Is there anyone can understand my problem?
    Thanks you.

  • Session problem in ADF BC

    We have an application developed in Jdev 10.1.3.4 (JSP, Struts, ADF BC) and running on OAS. Now we have a big problem with session, hope somebody can help with some ideas.
    We set session time to 45 min in the web.xml. The problem is that sometimes some user work on a page with form,for instance performing some edit activity. If he/she leave the page open inactive for more than 45 minutes and come back from lunch, press the ’save’ button, the application would then commit the change to the wrong row in database, most probably the top row in the View Object(VO) instance. This is because the application module actually does a rollback when session expires, it loses all user data.(e.g. row currency in VO instance).
    To avoid saving wrong data to the wrong place, we implemented a session Filter(see att. Below: ApplicationSessionExpiryFilter.java) to catch session time-out and forward request to an error page alerting user that their session has expired due to long time of inactivity. The Filter works as it should but it gives another problem. If user already has one of our application page open for very long time and open another page in a new browser (e.g. click a link from an email), he/she will get session-expire error immediately in the new browser. I guess it is because the session in the first browser already expires and the newly opened the browser shares the same session with the first one. That is how browsers works, we can do nothing about it.
    But our users are of course not very happy about getting the session errors in a newly opened browser. So we tried implementing a heartbeat funtion in AJAX(see att. Below: Heartheat.html and Template.jsp) to keep the session alive until the page is closed. Basically what we do is adding an invisible div tag in every jsp page and invoke AJAX funtion to periodically update the div tag with a small html page. In this way, a request is being sent to the server every 5 minutes thus the session should be kept alive until the page/browser is closed.
    It sounds to us like a very logical solution but it doesn’t work very properly. We sometimes still get the session error page immediately after opening a new page while we have another page open for long time.
    Could anyone please help to look at our Filter and heatbeat funtion? Is there anything wrong with our Filter or the heartbeat? Why does the session still expire before we close the page?
    All we do here is to try to avoid the initial probelm with saving data after session and the application module expires. If anyone has a better solution to this problem, we would very much like to try. Appreciate if anyone can share some ideas!
    Thanks in advance!
    *1. ApplicationSessionExpiryFilter.java*
    public class ApplicationSessionExpiryFilter implements Filter {
    private FilterConfig _filterConfig = null;
    public void init(FilterConfig filterConfig) throws ServletException {
    _filterConfig = filterConfig;
    public void destroy() {
    _filterConfig = null;
    public void doFilter(ServletRequest request, ServletResponse response,
    FilterChain chain) throws IOException, ServletException {
    HttpServletRequest httpRequest = (HttpServletRequest)request;
    boolean sessionInvalid = false;
    if(httpRequest.getRequestedSessionId() != null) {
    if(!httpRequest.isRequestedSessionIdValid()) {
    if (!httpRequest.getRequestURI().endsWith("sessionExpired.do")) {
    sessionInvalid = true;
    if (sessionInvalid) {
    ((HttpServletResponse) response).sendRedirect(_filterConfig.getInitParameter("SessionTimeoutRedirect"));
    else {
    chain.doFilter(request, response);
    *2. Heartheat.html* (A small html page to be invoked by template.jsp periodically)
    <html>
    <head>
    <META Http-Equiv="Cache-Control" Content="no-cache, must-revalidate">
    <META Http-Equiv="Pragma" Content="no-cache">
    <META Http-Equiv="Expires" Content="Expires: Mon, 26 Jul 1997 05:00:00 GMT">
    </head>
    <body>
    heartbeat to keep session alive!
    </body>
    </html>
    *3. Template.jsp* (Template page to be extended by all jsp pages, invoke heart.html every 5 min)
    <Html>
    <body>
    <div id="heartbeat" style="display:none">
    </div>
    <script type="text/javascript" language="javascript">
    new Ajax.PeriodicalUpdater('heartbeat','jsp/template/heartbeat.html',{ method: 'post', frequency: 300, decay: 1 }); // update heartbeat.html every 300 sec(5min)
    </script>
    </body></html>

    Hi Shay,
    Reviewing ADFContex methods it seems that this object shouldn't be accessible from BC. Example:
    public static ADFContext initADFContext(java.lang.Object context,
                                            java.lang.Object session,
                                            java.lang.Object request,
                                            java.lang.Object response)
        Initializes the ADFContext for the environment of the specified context.
        Parameters:
            context - the ServletContext or PortletContext of the current execution environment.
            session - the HttpSession or PortletSession of the current execution environment. OPTIONAL.
            request - the HttpServletRequest or PortletRequest of the current execution environment. OPTIONAL.
            response - the HttpServletResponse or PortletResponse of the current execution environment. OPTIONAL.
        Returns:
            the ADFContext that was current when init was invoked. Should be passed back to resetADFContext after the block requiring the ADFContext has completed.Kuba

  • Portal Session content in BSP

    Hello,
    My BSP inside an iView is located in the xRPM content. What I now try to achieve is, to hand over the chosen project-id from the portal to the BSP - iView.
    request->get_cookies provides me with the cookie "sap-appcontext", which I think contains the portal session-id. Since BSP has it's own session-id, I somehow have to get the session - content of the portal, where I hope, the chosen project-id is stored.
    Am I on the right way?
    I would appreciate any help or suggestions.
    Thanks in advance.
    Daniel

    <i>How can I register such an event inside xRPM-content without modifying the standard-source? Or how can I find out, if there's an event fired I could use?</i>
    I see no real easy way. I have never seen the source code of xRPM, and know no developers inhouse to ask directly. Effectively portal eventing is just JavaScript code. To see if xRPM supports any events, why not look at the outputted HTML. Look for anything to do with EPCM, or search for events.
    <i>It's hard to understand, why it's not possible to access session-information of the portal from a BSP started in the same page...</i>
    What exactly session information do you wish to know. From my understanding, you have a BSP running inside the portal. Inside this BSP application you wish to know something. I assume not exactly session ids, but some other information from the portal. Maybe this helps us.
    At the low level of HTML is might be easier to understand. The portal renders the HTML page, and then starts the BSP inside an <iframe>. The BSP does not know anything about the surrounding environment. Of course you could use JavaScript to walk up the dom (document.parent) and look at things inside the other frames. But keep in mind you are in the browser, and not on the portal server, not in the ABAP stack (where BSP is). So you can only look at rendered code. And this can (and will) change per SP.
    At the end of the day it is all plain HTML in your browser, and this are what sets your limitations.
    brian

  • Urgent: Sessions problem pls help me

    Hi all,
    Its already late to post this problem.pls help me urgently.
    I have a servlet & two jsp's. first i request servlet, it processes something and forwards request to my first jsp. In that jsp on a button click, i'm displaying a new popup by calling showModalDialog. this dialog gets data from the same servlet but it forwards to my second jsp.(second jsp can be seen in dialog)
    Now if i submit form from my second(dialog) jsp, the servlet reports that session has expired. I tried a lot but invain. any one who helps me is appreciated well by all of our forum.
    waiting 4 u r reply,

    It could be that you have cookies turned off and you're not using URL Rewriting.
    In J2EE, the first time your browser makes a request to the server, the server responds and appends a SESSION_ID parameter to the request as well as storing a cookie with the SESSION_ID.
    The second time your browser makes a request, the server checks for the cookie. If it doesn't exist it checks for the parameter. If neither exist the server assumes its the first time your browser has made a request and behaves as describe in the previous paragraph.
    In your case when you submit the form if you have disabled cookies and the action attribute doesn't have the SESSION_ID paramter appended to the url, the browser will assume it's a first request. The user will not be logged in, hence your session has expired error.
    To fix this you need to encode the URL in your JSP. You can use the struts html:rewrite tag or the HttpServletReponse.encodeURL method, or if you're using JSP 2.0 the JSTL c:url tag.

  • Problem in Bsp

    hi brian
    i need a small help from you.i am uploading file into bps web,i followed your pdf guide.it is working fine.in my scenario,i had developed a screen design and in that i wants to incorporate the file upload functinality.when we generate the bps application corrsponding bsp will be generated and in bsp, the page design will be in the views not in the layout,here iam getting the problem,when i write the code in the oninputprocessing the below code is not responding,when i try to do change in the layout my original design is getting disturbed.my code is as follows in the oninputprocessing plz advice me.
    iam getting dump at the bolded line below as null value is passed.plz help me out.
    CLASS CL_HTMLB_MANAGER DEFINITION LOAD.
    CONSTANTS:
    c_memory_id_file_upload TYPE memory_id VALUE 'Z_SEM_BPS_FILE_UPLOAD'.
    DATA:
    lv_objname TYPE lxeobjname,
    lr_page TYPE REF TO if_http_entity,
    l_content_path TYPE string,
    l_content TYPE string,
    l_subrc TYPE sy-subrc,
    ls_bapiret TYPE bapiret2,
    lt_bapiret TYPE STANDARD TABLE OF bapiret2,
    ls_mesg TYPE upc_ys_mesg,
    lt_mesg TYPE upc_yt_mesg,
    request1 type ref to IF_HTTP_REQUEST.
    DATA: event TYPE REF TO CL_HTMLB_EVENT.
    REFRESH lt_mesg.
    IF event_id = CL_HTMLB_MANAGER=>EVENT_ID.
    event = CL_HTMLB_MANAGER=>get_event( runtime->server->request ).
    IF event->name = 'button' AND event->event_type = 'click'.
    DATA: button_event TYPE REF TO CL_HTMLB_EVENT_BUTTON.
    button_event ?= event.
    ENDIF.
    endif.
    case event->id.
    when 'upload'.
    lv_objname = request->get_form_field( 'file' ).
    lr_page = request1->get_multipart( 1 ).
    l_content_path = lr_page->get_header_field( '~content_filename' ).
    l_content = lr_page->get_cdata( ).
    IF l_content IS NOT INITIAL.
    Export file contents to memory
    EXPORT content FROM l_content TO MEMORY ID c_memory_id_file_upload.
    endif.
    endcase.
    create statistic node for performance measurements
    type-pools: upcst.
    cl_upwb=>statistic_open( i_node_name = upcst_c_web_input_proc
    i_page = page
    i_request = request ).
    call input processing here
    call method application->inputProcessing(
    event_id = event_id
    runtime = runtime
    page = page
    request = request
    navigation = navigation
    version = 300
    close the statistic node
    cl_upwb=>statistic_close( i_node_name = upcst_c_web_input_proc ).

    See Bps file upload error in Bsp
    Regards,
    Marc
    SAP NetWeaver RIG

  • Session problems in tomcat 5.0.28

    Even I shutdown the tomcat 5.0.28 server the session variable is still existing and it is showing the old values. What I have to do to disable the old values? Is it the problem with tomcat 5.0.28 or with JSP coding!

    Tomcat serializes sessions to the hard drive when it shutsdown. If you don't want this you have three choices:
    1: you can disable this functionality in the server.xml. Check the documentation.
    2: you could just delete the session.ser file when you shut down tomcat. This file is under work/standalone/{webapp name}
    3: you could close and re-open the browser so that the old jsessionid will not be sent and a new session will be created. The old session will eventually time out.
    The third option is probably the easiest.

  • Session id in BSP Url

    Hi
    I am creating a new iView of type BSP. On executing/previewing the iView the url is generated similar to:
    http://<hostname>:<port>//sap(bD1lbiZjPTEwMCZkPW1pbiZpPTEmcz1TSUQlM2FBTk9OJTNhZHYxZDIxX0QyMV8yMSUzYU5pOXBPcGVTbE9HTVk0ZWdfcU1jUnVkYU04MU5WUUdCTDhrai10cGMtQVRU)/bc/bsp/sap/<application>/<start page>.htm
    Although the BSP url is
    http://<hostname>:<port>//sap
    (bD1lbiZjPTEwMCZkPW1pbg==)/bc/bsp/sap/<application>/<start page>.htm
    So the session parameters generated in the two URLs is different and the latter one works fine but the earlier one gives some issue when trying to save etc and does not work as expected.
    I analysed the session parameters in the URLs and found that the former URL:
    (l)anguage en
    (c)lient 100
    (d)omainRelax min
    (i)info 1
    (s)ession-id SID:ANON:dv1d21_D21_21:Ni9pOpeSlOGMY4eg_qMcRudaM81NVQGBL8kj-tpc-ATT
    and the latter:
    (l)anguage en
    (c)lient 100
    (d)omainRelax min
    Is there any way this parameter be controlled from portal end so that I am able to get the BSP url (latter).
    Appreciate any pointers.
    Thanks,
    Priyanka

    Hi, it is not possible to diasable the url mangling you mentioned. You can call the static method
    cl_o2_helper=>generate_url_for_page to get an url for a specific page.
    Best regards,
    Stefan

Maybe you are looking for