Skip to Content

13 Comments

You must be Logged on to comment or reply to a post.

  1. Community User
    Hi Thomas,

    your weblog came just in time because it describes exactly what I wanted to implement, today 🙂

    I used your ideas and everything works great. But I have one question: How do you handle the creation of the new session? For example when you load your timeout page you don’t create a new session using one of the system session-pages. So in my case when I load the timeout page a new user session will be created and the redirect to my web application entry page will create another session because of my system-session page.

    (0) 
    1. Thomas Jung
      I’m glad this could help out.  I think the key is probably something I forgot to mention about the reload page.  First I created the reload page as a stateless application (Ironically).  I also went into SICF for the service that holds just my reload page and entered a user name and password in the service so that this would be accessible anonymously.  That way a user never gets prompted for authentication by the reload page. 

      Also after reading your question again, I want to make clear that my reload page is in a completely different BSP application than the one that is calling it.  I put one single reload page in a shared BSP application I called ZKEG_SYSTEM.  This is where I put a few reuseable utility pages, mimes, and javascripts that must be shared across applications and accessed anonymously.  Hopefully this helps. 

      (0) 
      1. Greetson Shunmugasundaram
        Hi Thomas Jung ,
                         I am trying to test your functionality for the timeout problem . I had createda sample statefull BSP Application. In that application Startpage controller class I had implemented the DO_REQUEST method of the interface “IF_BSP_APPLICATION_EVENTS”. For my testing I had put the breakpoint in the “IF_BSP_APPLICATION_EVENTS~ON_REQUEST” method of the controller class. And also I had inserted another breakpoint on my Do_Request method .

        During my testing when the Application  is called firt time the code execution not stops at the breakpoint in the “IF_BSP_APPLICATION_EVENTS~ON_REQUEST” method and it only stops only in the DO_REQUEST method.

        As the method “IF_BSP_APPLICATION_EVENTS~ON_REQUEST” will call every time whena  HTTP Incomming request comes and the code execution suppose to stop in the Breakppoint that I had inserted . But the way my application behaves is not the way it is supposed to be……

        Please suggest me what may be the problem???

        Thanks in advance…

        Expecting your response ASAP.

        Thanks,
        Greetson

        (0) 
        1. Thomas Jung
          I can’t say that I have exactly been able to recreate this situation.  So my first question is: what release and support package level are you on?  I have a couple systems that I can access and I want to get the closest match to yours. 

          Let me also see if I can understand the situation a little better.  You have a method that you wrote called DO_REQUEST.  I assume that you call this method from the ON_REQUEST method that you inherited and redefined.  You can set a breakpoint in both the ON_REQUEST and the DO_REQUEST, but it only fires in the DO_REQUEST?

          I’m in Europe this week instead of the US (and quite busy to boot), but I will try and help out as I can.

          (0) 
          1. Greetson Shunmugasundaram
            Hi Thomas Jung,
                           We have the following Support packages:

            1) SAP_BASIS Release 620 0043  SAPKB62043 SAP Basis Component

            2) SAP_ABA Release 620 0043  SAPKA62043 Cross-Application Component.

            sorry for the wrong explaination in my erlier mail I had mistyped the method name instead of
            “IF_BSP_APPLICATION_EVENTS~ON_REQUEST” i had typed “IF_BSP_APPLICATION_EVENTS~DO_REQUEST”.

            Sorry for the confusion.
            Please see the explaination again below:

            Details about the problem :
            I am trying to test your functionality for the timeout problem . I had createda sample statefull BSP Application. In that application Startpage controller class is inherited from “CL_BSP_CONTROLLER2” .  In the interface section I had added the Interface “IF_BSP_APPLICATION_EVENTS” . Then  I  implemented (redefined ) the “IF_BSP_APPLICATION_EVENTS~ON_REQUEST” method of the interface “IF_BSP_APPLICATION_EVENTS”. For my testing I had put the breakpoint in the “IF_BSP_APPLICATION_EVENTS~ON_REQUEST” method of the controller class.

            And also I had implemented (redefined ) the DO_REQUEST method of the inherited class “CL_BSP_CONTROLLER2” method. And slo I had inserted another breakpoint on this method.

            During my testing when the Application is called firt time the code execution not stops at the breakpoint in the “IF_BSP_APPLICATION_EVENTS~ON_REQUEST” method and it only stops only in the DO_REQUEST method.

            Expecting your reply.

            Thanks,
            Greetson

            (0) 
            1. Thomas Jung
              Well I have access to a system very similar to yours.  I have 620 SP42.
              That is where the good news ends.  I was not able to recreate your problem. 

              But now that I read closer, I have a question for you.  Did you inhert IF_BSP_APPLICATION_EVENTS in your controller class?  If so that is not correct.  This interface must be added to an Application Class.  This is the special class that you specify on the properties tab of the BSP application itself.  It is entered right under the initial BSP page and before the theme.

              (0) 
              1. Greetson Shunmugasundaram
                Thomas Jung,
                           Now I got struck in the middle after passing the above problem.
                Problem details:
                I did a test after implementing the code.
                After I deleted the session from SM04 transaction and when I tried to some action on my BSP page then code execution is not firing in the breakpoint in my code I am getting the error “page cann’t be displayed”

                “There is a problem with the page you are trying to reach and it cannot be displayed. “

                and when I again look into the SM04 i see there is a session for user “SAPSYS” of type ICM req. I see the client number is different for this ICM req. I see the client no “000” but I am working in client “020”.

                Sometimes the code execution fires and stops in my breakpoint . At this case I dont see any other session in SM04 .

                What may be the problem?

                Suggest me your taughts.

                Thanks,
                Greetson

                Some times

                (0) 
                1. Thomas Jung
                  This sounds like something to do with authentication.  Usually what you see is SAPSYS 000 when the application is waiting for authentication information.  What type of authentication mechinisim are you using?  I have tested this in my system with two different mechanism. 

                  The first is basic authentication.  This is really only used during development.  The second is SSO2 Tickets generated by the ITS (very similar to SSO with the SAP Portal).  In both of these situations, I don’t have reauthorization problems when the sessions dies. 

                  I thought that the problem might be that you are being directed to a different client after the session dies.  What is the default client in your system?  What client is setup in the SICF node for this application?  However URL encoding should contain your client.  This information should be sent back with the request, after your session is killed in SM04. 

                  (0) 
                  1. Greetson Shunmugasundaram

                    Thomas Jung,<br/>        REPLACE FIRST OCCURRENCE OF ‘hubdra01′<br/>*        IN abs_url WITH ‘www.hubdra01’.<br/><br/><br/>    navigation->exit( url ).<br/>*    navigation->exit( abs_url ).<br/><br/>   endif.<br/><br/><br/>endmethod.<br/><br/><br/>Please let me know your taughts.<br/><br/>Thanks,<br/>Greetson

                    (0) 
                    1. Thomas Jung
                      Are you able to manually launch page ‘reload.bsp’ in application Zreload?  How did you setup the security in SICF on Zreload.  I can only suspect that their might be a problem here.
                      (0) 
                      1. Greetson Shunmugasundaram
                        Hi Thomas Jung,
                                      I able to bringup the reload.bsp when I execute that Application alone directely . In the SICF for that BSP in  the Security Reuirements the “Standard” is selected as default and the Basic authentication  is selected as “Standard R/3 User” as default.
                        and in the Anonymous Logon data check fox is not checked .

                        Please let me know if you need anymore information

                        Thanks,
                        Greetson

                        (0) 
  2. Daniel Humberg
    During the migration process problems have been reported for this blog. The blog content may look corrupt due to not supported HTML code on this platform. Please adjust the blog content manually before moving it to an official community.
    (0) 

Leave a Reply