TROUBLE EP - BSP

hi you all,
i have a question, i what scenario could the get server cookie method be call without the explicit calling in the source code???. I have an bsp app within the portal, and when i enter to the portal with an user i see the data of the last user i try before (not current), and i found out that the get_server cookie method its call just before the on_request begins. If i don't call it from the source code...why this method its call anyway???...could be this because a parameter in the iview??? . Any ideas to solve my problem??? Thanx in advance
Mariana

Hi Sudha,
Have you activated the Portal Session Management?
If not, please have a look at
http://help.sap.com/saphelp_470/helpdata/en/cb/f8751d8c6b254dac189f4029c76112/frameset.htm
and then click on "Activating Portal Session Management".
Under "Activities" there are 2 possibilities. If you use the HTMLB library in your application, you just have to check the box "Supports Portal Integration" in the Properties Tab (poss. 1), otherwise you have to copy the piece of code at the beginning of your page (poss. 2).
Regards,
Rainer

Similar Messages

  • Trouble calling BSP application in EP

    Hi,
    I have a BSP application which I need to call in an iView. EP version is 6.0, SP7 P1. The BSP seems to run fine as a URL, but does not work when called as a BSP iview. The error on calling it via the BSP iview is 'This page cannot be displayed'. Is there something I'm doing wrong?
    Thanks in advance.
    Sudha

    Hi Sudha,
    Have you activated the Portal Session Management?
    If not, please have a look at
    http://help.sap.com/saphelp_470/helpdata/en/cb/f8751d8c6b254dac189f4029c76112/frameset.htm
    and then click on "Activating Portal Session Management".
    Under "Activities" there are 2 possibilities. If you use the HTMLB library in your application, you just have to check the box "Supports Portal Integration" in the Properties Tab (poss. 1), otherwise you have to copy the piece of code at the beginning of your page (poss. 2).
    Regards,
    Rainer

  • How to Use Interactive Forms in BSP Applications - trouble with demo

    Is anyone else out there having trouble with the subject how to guide? https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/d0e58022-2a39-2a10-69a8-c1a892e2b3f4
    I think I have everything built out correctly but I get the following run time error.
    Business Server Page (BSP) error
    What happened?
    Calling the BSP page was terminated due to an error.
    SAP Note
    The following error text was processed in the system:
    An exception with the type CX_SY_REF_IS_INITIAL occurred, but was neither handled locally, nor declared in a RAISING clause
    Exception Class CX_SY_REF_IS_INITIAL
    Error Name 
    Program Z_PROCESS_BOOKING_FORM========CP
    Include Z_PROCESS_BOOKING_FORM========CM002
    ABAP Class Z_PROCESS_BOOKING_FORM
    Method DO_REQUEST
    Line 33 
    Long text An attempt was made to execute a dynamic method callon an initial(NULL-) object reference. The reference must refer to an object.
    Following is my code:  line 33 reads as strChecked = node->get_value( ).
    method DO_REQUEST.
    *CALL METHOD SUPER->DO_REQUEST
      data: bookingxml type string.
      bookingxml = request->get_cdata( ).
      data: streamFactory type ref to
      if_ixml_stream_factory.
      data: iStream type ref to if_ixml_istream.
      streamFactory = g_ixml->create_stream_factory( ).
      iStream =
      streamFactory->create_istream_string(
      bookingxml ).
      data: document type ref to if_ixml_document.
      document = g_ixml->create_document( ).
      data: parser type ref to if_ixml_parser.
      parser = g_ixml->create_parser( stream_factory =
      streamFactory
      istream =
      iStream
      document =
      document ).
      parser->parse( ).
      data: node type ref to if_ixml_node.
      data: strChecked type string.
      node = document->find_from_name( name = 'RESERVED'
      strChecked = node->get_value( ).
      data: reserved type BAPISBODAT-RESERVED.
      data: checked type i.
      move strChecked to checked.
      if ( checked = 1 ).
        reserved = 'X'.
      else.
        reserved = ''.
      endif.
      data: custbook type BAPISBONEW.
      node = document->find_from_name( name = 'AIRLINEID'
      custbook-airlineid = node->get_value( ).
      node = document->find_from_name( name = 'CONNECTID'
      custbook-connectid = node->get_value( ).
      data: fd type BAPISBONEW-FLIGHTDATE.
      data: strFd type string.
      node = document->find_from_name( name =
      'FLIGHTDATE' ).
      strFd = node->get_value( ).
      CALL FUNCTION 'CONVERT_DATE_TO_INTERNAL'
      EXPORTING
      DATE_EXTERNAL = strFd
    * ACCEPT_INITIAL_DATE =
      IMPORTING
      DATE_INTERNAL = custbook-flightdate
      EXCEPTIONS
      DATE_EXTERNAL_IS_INVALID = 1
      OTHERS = 2
      IF SY-SUBRC <> 0.
    * Do something
      ENDIF.
      node = document->find_from_name( name =
      'CUSTOMERID' ).
      custbook-customerid = node->get_value( ).
      node = document->find_from_name( name = 'CLASS' ).
      custbook-class = node->get_value( ).
      node = document->find_from_name( name = 'AGENCYNUM'
      custbook-agencynum = node->get_value( ).
      node = document->find_from_name( name = 'PASSNAME'
      custbook-passname = node->get_value( ).
      data: pb type BAPISBONEW-PASSBIRTH.
      data: strPb type string.
      node = document->find_from_name( name = 'PASSBIRTH'
      strPb = node->get_value( ).
      CALL FUNCTION 'CONVERT_DATE_TO_INTERNAL'
      EXPORTING
      DATE_EXTERNAL = strPb
    * ACCEPT_INITIAL_DATE =
      IMPORTING
      DATE_INTERNAL = custbook-passbirth
      EXCEPTIONS
      DATE_EXTERNAL_IS_INVALID = 1
      OTHERS = 2
      IF SY-SUBRC <> 0.
    * Something
      ENDIF.
      data: bn type BAPISBOKEY-BOOKINGID.
      data: return type bapiret2_tab.
      data: errmsg type string.
      CALL FUNCTION 'BAPI_FLBOOKING_CREATEFROMDATA'
      EXPORTING
      RESERVE_ONLY = reserved
      BOOKING_DATA = custbook
    * TEST_RUN = ' '
      IMPORTING
    * AIRLINEID =
      BOOKINGNUMBER = bn
    * TICKET_PRICE =
      TABLES
    * EXTENSION_IN =
      RETURN = return.
      data: wa type bapiret2.
      loop at return into wa.
        if wa-type = 'E'.
          move wa-message to errmsg.
          response->append_cdata( errmsg ).
          response->append_cdata( '<BR>' ).
        endif.
      endloop.
    response->append_cdata( 'Flight booked, booking reference number: ').
      data: strBn type string.
      move bn to strBn.
      response->append_cdata( strBn ).
    endmethod.
    The first page works fine but when I submit my form it fails.  I debugged and the request object doesn't look right.
    Any ideas would be greatly appreciated.
    Regards,
    Dan
    Message was edited by:
            Dan Scheck
    Message was edited by:
            Dan Scheck

    Hi Surija,
    there is an issue with Internet Explorer that causes this problem when you launch the BSP applicaiton using the test menu in SE80. The issue does not occur with Firefox...very strange I know.
    Anyway, to get around this you just copy the BSP application URL and open a browser and paste the URL in...so essentially do not use the "Test" in SE80 to launch your application.
    Hope this fixes your problem!
    Cheers,
    Jeff

  • Trouble changing a class attribute in a STATEFULL bsp app - PLEASE HELP!!!!

    hello, i have some trouble changing the value of a class attribute, in certain point of the execution of a statefull bsp app. The scenario is: the bsp app is on a url iview in a portal; i have some link in the portal, that do a window.open (pop up) of that app. the question is: how can i change the class attribute of the bsp app when i close that pop up?, if when i first click the link that show me the pop up, its doesn't create another instance of the class...i mean it continuing working with the same instance of the url iview in the portal. ANY help it will well received. Thanx in advance

    hello Durairaj...yes indeed in the other thread thats the issue with the portal_version attribute, the person who create the iview dont want to change it...so i try to solve it with something else....thats bring me to another problem (posted in this thread). Now i have a question...in the url iview it calls a template that start the bsp app...i mean is not the url iview who calls the bsp app is a middle template...with this scenario can i pass the parameter sap-sessioncmd=open to the url iview or i have to pass it to the bsp app directly when in the middle template i call it??? another question when i pass that parameter via url, it create another instances (apart) of the class or restart the same instance that the app work with until that moment....tell me more about that parameter coz' i am new in bsp and i need help....i will give a lots of rewards point who help me!!! i promise....i am kind of desperade for sure....  thanx in advance

  • Trouble with View - InputHelpV2.bsp (Advanced BSP Programming)

    Dear Brian / Thomas,
        I bought the Advanced BSP Programming book and from the CD which came along with it, instead of importing the request, I created the CLASSES, BSP EXTENSIONS, VIEW, CONTROLLER. I created the Extensions - ZDIALOG, ZDOWNLOAD, ZF4HELP; and the related CLASSES from these folders. Also created the dummy.htm, InputHelpV2.bsp, simpleTest.htm and InputHelpV2.do in my own BSP application.
        Everything seems to be fine, except InputHelpV2.bsp, which is giving as error in all the locations on the page, where it's mentioned - "model->". For Eg. model->iframe_id, it says, Field "IFRAME_ID" is unknown.
        I have specified the following in the Page Attributes - model     TYPE REF TO     ZCL_BSP_M_INPUT_HELP.
    In  ZCL_BSP_M_INPUT_HELP, I have pasted the definition part of the code given in the CD under Local Class Definition and the implementation part in Local Class Implementations.
        Can you please tell me, why the error on the View pops up?
    Thank you.
    Regards
    Gladson

    Well ZCL_ES_BSP_ELMNT_INPUT_HELP_V2 is the handler class for a BSP Extension Element.  The class will be generated automatically.  You then use SE80 (the class builder) to add your method implementation.
    It sounds like you should perhaps spend some time reading up on the ABAP Workbench and ABAP OO before you spend too much time in the BSP world.  Some of the examples from the book are quite advanced (such as the value help) and rely on a good foundation in ABAP OO - as does using BSP in general.  It would be wise to invest this time and avoid frustation. 
    Here are some links:
    http://help.sap.com/saphelp_nw2004s/helpdata/en/ca/c035baa6c611d1b4790000e8a52bed/frameset.htm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/18/773e0f778211d1b4510000e8a52bed/frameset.htm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/ce/b518b6513611d194a50000e8353423/frameset.htm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/c9/0a1f3cb7ff2057e10000000a11402f/frameset.htm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/33/6a0b3c4669931ce10000000a11402f/frameset.htm

  • BSP: Logout does not work

    Hello.
    At the moment i am re-developing a bsp-application, that i have written about 2 years ago.
    I have to add a logout-funtion to the new version, as the users desperately want it (Some of our users seem to get nervous, when login on to a page, that provides no logout button...).
    I have already tried navigation->exit() but this method only drops the application context - the session will not be terminated, so that the user will not be promted for login-data when e.g. pressing the back-button of the browser.
    I read the documentation on help.sap.com carefully and the problem seems to be, that the appliaction is using "Basic Authentication" at the moment. Using this kind of authentification generates a session-cookie, that will persist until the browser is closed.
    My first attempt was to get rid of the cookie using jscript, but this did not work. First i thought, there was a bug in my jscript-coding, and so i opened the corresponding menu of my browser and deleted any cookie by hand. Unfortunatelly, this had no effect - i was still able to use the page and my session was still existent.
    So i searched for further informations and found out, that it should be quite easy to implement a logout, if SSO-Login was used for athentification. Unfortunatelly i also found out, that SSO is not available on our system, so i will have to find another way.
    Finally i found out, that a logout can be done by simply setting the application into stateless mode, if fields authentication is used.
    I tested this for a simple test-application i had written a few days ago and everything worked fine: I had to enter my logon-data at the first call of the application, the login worked as expected and setting the application to stateless mode ended my session immediatelly. Reloading the page or using e.g. the back-button of the browser did not cause any trouble, so i wanted to use this technique, because the behaviour of the testpage exactly met the requirement.
    My next step was to enter transaction sicf and to delete every authentication-mechanism except of "Fields Authentication" to enforce the usage of this mechanism for my bsp-application. It worked somehow, but not in the way, i expected.
    When trying to open my bsp-application, i had to enter my logon-data in an html-form (as expected).
    But sending the data did not create a session. I have to log in between 2 and 5 times (it differs for every try) before i finally see the first page of my bsp-application.
    Once logged in, the session is quite "unstable" - a simple reload of the page throws me back to the logon page again.
    I have no clue, what causes this creepy behaviour - i copied the settings of my testappliaction 1:1 in sicf, both applications are stateful by default and the only place, where the switch to stateless mode is done is my logout-page. Yesterday i even deleted the service of my application in sicf, created a new one and customized it in the same way, i had customized the service of my test-application, so there should be no differences (i have checked for about 10 times).
    As i have already searched the forum and did not find anything, that seemed to match to my problem, i hope, that somebody can give me some advice, because i really do'nt know, what else to try.
    Below you can see the configuration of the service in SICF. Any option not listed here has its initial value:
    Procedure: Alternative Logon Procedure
    Logon Procedure (The Table-control at the bottom of the page) holds only one entry: "Fields Authentication"
    System Logon: True
    Settings Selection->Define Service Specific Settings: true
    System Logon Settings->Select Display->System Messages: true
    System Logon Settings->Actions During Logon->Protocol: "Do Not Switch"
    System Logon Settings->Default->Client: 101
    System Logon Settings->Default->Language: "German"
    System Logon Settings->Logon Layout And Procedure->SAP Implementation: true
    System Logon Settings->Logon Layout And Procedure->Tmpl.: "Normal"
    System Logon Settings->Logon Layout And Procedure->SAP Icon: "Chrome"
    And here is some information according to the bsp-application:
    Initial BSP: set
    Application Class: set (My test-page did not use an application-class - this seems to be the only difference)
    Theme: not set
    Stateful: yes
    Supports Portal Integration: no
    I do'nt know, if there is any other information, that could be useful for solving the problem - if anything is missing, just ask for it and i will provide the infomation needed.
    Thanks in advance.
    Regards, Jörg Neumann

    Hello,
    up to now we also faced a lot of issues with that logout-problem.
    Especially the logout for IE 5.5 and the XUL-runner gave us a hard time.
    We had to change our logout-page about 10 times now, because some weird browser did not work like all the others - AGAIN...
    Here is, what we got so far.
    As far as i know, this stuff should work cross-browser, but it's still client-side jscript.
    <%-- --------------------------------------------------------------
    This is the jscript, that will log you out                      
    -------------------------------------------------------------- --%>
    <span id="onloadscript"><!--
      function DelSso2Cookie(sName,sPath){
        var sso2Domain = location.hostname;
        if (location.hostname.indexOf(".")!=0) sso2Domain = location.hostname.substr(location.hostname.indexOf(".")+1);
        p="";
        if(sPath)p=" path="+sPath+";";
        document.cookie = sName+"=0; expires=Fri, 31 Dec 1999 23:59:59GMT;"+p + "domain="+sso2Domain+";";
      try{
        document.execCommand( 'ClearAuthenticationCache' );
      } catch (e) {}
      DelSso2Cookie("MYSAPSSO2","/");
    //--></span>
    <%
    CALL FUNCTION 'HTTP_DELETE_SSO2_COOKIE'
      EXPORTING
        server = runtime->server.
    %>
    <%-- --------------------------------------------------------------
    Calling the script directly did not work in all browsers        
    so we had to use a trick, that may seem kind of weird...        
    We use the onLoad-Event of a transparent 1x1-pixel-image.       
    The query-string is a dummy-value, that will be ignored by the   
    server but it forces the client to reload the picture from the   
    server instead of reading it from the browser cache.             
    This dirty hack was necessary, because some browsers will not   
    fire the onLoad-Event, if the image was read from the browsers  
    cache.                                                          
    -------------------------------------------------------------- --%>
    <%
        DATA: lv_img_url TYPE string.
        CONCATENATE '/sap/public/bc/ur/nw5/1x1.gif?'
                    'dummy=' sy-datum '_' sy-uzeit
               INTO lv_img_url.
    %>
    <img src="<%=lv_img_url%>" onload="eval( document.getElementById('onloadscript').childNodes[0].nodeValue );">
    Regards, Jörg

  • Uploading a file in bsp application

    i want to upload a file in abap.
    i am using gui_upload function.
    DATA:  BEGIN OF pic_tab OCCURS 10,
             data TYPE sdokcntbin,
           END OF pic_tab.
    DATA:  aux_string TYPE string.
    DATA:  aux_length TYPE i.
    TABLES: zpro_pa,
            zbsp_pkgklg.
    PARAMETERS: p_packid LIKE zpro_pa-package_id,
                p_file(256) DEFAULT 'c:\test.jpg'.
    START-OF-SELECTION.
      aux_string = p_file.
      DELETE FROM zbsp_pkgklg WHERE type = 'PACKAGE'
                           AND identifier = p_packid.
      CALL FUNCTION 'GUI_UPLOAD'
        EXPORTING
          filename                      = aux_string
            filetype                      = 'BIN'
          IMPORTING
            filelength                    = aux_length
        TABLES
          data_tab                      = pic_tab
            separator_not_allowed         = 10
      zbsp_pkgklg-type = 'PACKAGE'.
      zbsp_pkgklg-identifier = p_packid.
      LOOP AT pic_tab.
        IF aux_length > 1022.
          zbsp_pkgklg-length = 1022.
          aux_length = aux_length - 1022.
        ELSE.
          zbsp_pkgklg-length = aux_length.
        ENDIF.
        zbsp_pkgklg-line = sy-tabix.
        zbsp_pkgklg-data = pic_tab-data." here not able tocopy
        INSERT zbsp_pkgklg.
        IF sy-subrc <> 0.
          MESSAGE a001.
        ENDIF.
      ENDLOOP.
    am not able to copyfrom pic_tb field data into zbsp_pkgklgfield data.
    can anyone tell whats the problem?.

    You'll find about a million things in this forum alone on this topic.
    <a href="/people/brian.mckellar/blog/2004/06/11/bsp-trouble-shooting-getting-help">BSP Trouble Shooting: Getting Help</a>
    I would suggest you do a search not only in this forum for "file upload" but also take a look at the weblogs from Brian McKellar and Thomas Jung. Both have many examples of this topic.

  • XML with BSP

    Hello,
    I have created a xml file "data.xml" with a string page
    attribut "xml" and the following page layout.
    <?xml version='1.0' encoding='iso-8859-1'?>
    <%@page language="abap"%>
    <%=xml%>
    in the event handler "On Request" I set the xml variable
    with the following SELECT statement
    SELECT matkl, bez .....
       REPLACE '<' IN bez WITH ' kl '.
       REPLACE '>' IN bez WITH ' gr '.
       CONCATENATE item '<ITEM>' '<VAL>' matkl '</VAL>' '<DES>' bez '</DES>' '</ITEM>' INTO item.
    ENDSELECT.
    CONCATENATE '<GOODSGROUPS>' item '</GOODSGROUPS>' INTO xml.
    As you can see I use the character encoding "iso-8859-1"
    http://www.validome.org/doc/HTML_ge/inter/zeichensaetze.htm
    My problem is that there are some characters that cannot
    be viewed. Why? And which one? (I found out that there
    are problems to view "<" and ">" and I REPLACED this one)
    Error message in Web browser
    <?xml version="1.0" encoding="iso-8859-1" ?>
    - <GOODSGROUPS>
    - <ITEM>
      <VAL />
      <DES />
      </ITEM>
    - <ITEM>
      <VAL>1AA</VAL>
      <DES>Si Scheiben kl150mm</DES>
      </ITEM>
    - <ITEM>
      <VAL>4BF</VAL>
      <DES>geloescht</DES>
      </ITEM>
    The XML page cannot be displayed
    Cannot view XML input using XSL style sheet. Please correct the error and then click the Refresh button, or try again later.
    A semi colon character was expected. Error processing resource 'http://vies12ex.vih.infineon.com:1080/sap/bc/bsp/sap/y_data...
    <ITEM><VAL>5BD</VAL><DES>E undV Pressen</DES></ITEM><ITEM><VAL>5BE</VAL&g...

    bellow u can see the whole abap code in the event handler (OnRequest). the variable "xml" contains the whole xml code, which is dynamically generated.
    DATA: matkl TYPE T023-MATKL,
          wgbez TYPE T023T-WGBEZ,
          item TYPE string,
          bez TYPE string,
          schar.
    item = ''.
    SELECT FMATKL PWGBEZ
      INTO (matkl, wgbez)
      FROM T023 AS F JOIN T023T AS P
        ON FMATKL = PMATKL AND
           FMANDT = PMANDT
    WHERE P~SPRAS = SY-LANGU.
       bez = wgbez.
       REPLACE '<' IN bez WITH ' kl '.
       REPLACE '>' IN bez WITH ' gr '.
       CONCATENATE item '<ITEM>' '<VAL>' matkl '</VAL>' '<DES>' bez '</DES>' '</ITEM>' INTO item.
    ENDSELECT.
    CONCATENATE '<GOODSGROUPS>' item '</GOODSGROUPS>' INTO xml.
    the thing is, everything works without
    the column "wgbez", only in this column are some characters
    which cause troubles. But also in this column there are
    only characters from ISO-8859-1 (Latin-1) character set.
    Thx 4 help!
    BR,
    Rene.

  • Using Call transaction in a BSP scenario

    I encountered a problem the other day with using a BAPI in a BSP application. Within this BAPI a call transaction was made. After reading several posts in this forum and the very interesting blog BSP In-Depth: MESSAGE Statement Handling /people/mark.finnern/blog/2003/09/16/bsp-in-depth-message-statement-handling of Brian, it became clear to me that message types E,A and X during this call transaction cause HTTP error 500 no dump info and termination of the session. All in all not so much fun.
    After having an OSS message battle with SAP, their final conclusion was: it is not possible and there are no alternatives.
    Unsatisfied I tried to find a solution. And I found one, which I would like to share with you as it might cause more people problems.
    To be short, read the weblog from brian for more info, the main problem is the use of a 'very dark' dynpro when logged in with a bsp application. This session is of type Plug-in HTTP. If we call the BAPI/RFC with DESTINATION NONE a RFC type session is opened. With such a session the message type E,A and X result in 'normal' behaviour, that is the BAPI returns message type E.
    This doesnt work with Function modules which are not RFC enabled, however most of the times it is easy to create a RFC enabled wrapper around it.
    Have fun,
    Vincent

    Hallo Vincent,
    Many thanks for taking the time to write this down! I have actually learned something new tonight. Very simple and ellegant solution to this problem. If you don't mind, I would like to add this into the <a href="/people/brian.mckellar/blog/2003/10/23/bsp-trouble-shooting-frequently-asked-short-questions">FAQ</a>. This is something that is sure to help other people as well!
    regards, brian

  • BSP - Look and Feel / Theme

    Good Morning All,
    disclaimer: I checked the blogs, I checked the discussions, I checked the examples, I checked the doco - and couldn't find the answer to my question.
    Question:
    I've already seen it, but can't remember where it is, does anyone know the name of the BSP Sample/Example which comes with the WAS which has the EP6 look and feel ?
    I saw it a few weeks ago and I can't find it now and I want to study the code from it to make my app have a nicer look and feel.
    Note: I read Thomas's blog on - 'A developer's Journal Part VI
    and although that example discussed what I am interested in I couldn't see examples in the code of creating the header bar etc, maybe it's just me, but at the moment that's what I would like to achieve and to do it by example.
    So to conclude if anyone knows / can remember the name of the BSP example which has an EP6 look and feel please let me know so that I can study it for inspiration.
    Thanks very much,
    Milan.

    Hallo Milan,
    I think that you are doing good. It is always the best to follow a small mix of documentation reading and practical work. So let me tell you the minimum to get a first version working. Thereafter to can continue reading!
    Problem: we want to implement a simple link tag (in 15 minutes!) that works like this:
    <%@page language="abap"%>
    <%@extension name="htmlb" prefix="htmlb"%>
    <%@extension name="bcm06" prefix="bcm06"%>
    <htmlb:content design="design2003">
      <htmlb:page>
          <b><bcm06:simpleLink href="http://www.sap.com">
              SAP Home Page!
          </bcm06:simpleLink></b>
      </htmlb:page>
    </htmlb:content>
    In SE80 we defined a new BSP library bcm06. We define a new element simpleLink. Typical handler class name will be CL_BCM06_SIMPLELINK (just the convention we use).  As body this tag can contain other HTML and also over BSP elements (we want to just render a link around all of body). We don't worry about the rest of the checkboxes. They will become interesting later on.
    We activate the library. The workbench will detect that no handler class exists, and will generate all of the stuff we need. Now already the tag is full functional, and can be used on any BSP page. It just will not do anything.
    What was generated? The class inheritance diagram is as follow: CL_BCM06_SIMPLELINK --> CL<b>G</b>_BCM06_SIMPLELINK --> CL_BSP_ELEMENT.
    The class CL_BSP_ELEMENT is the base class, and it contains a lot of interesting functionality. None of which we worry about now. Never try to change it!
    The class CL<b>G</b>_BCM06_SIMPLELINK (note that CLG<b></b>_!) is generated new each and everytime that you touch the definition of the tag. Effectively all the defined attributes are generated onto this class, so that they are already of the correct type, and that this information is always in sync. This means that all your tag defined attributes are directly attributes on your class. In our case, the defined "href" attribute (type string) is now an attribute on the CLG class.
    The last class CL_BCM06_SIMPLELINK will only be generated once if it does not exist. This is the class where you work. In this class there are two methods that are interesting to you at this moment. Later you will learn about the rest.
    DO_AT_BEGINNING: This method is called effectively in response to the <lib:tag> sequence. This is the code that executes before the body. This is the place where we would like to render out "<a href=...>" sequence.
    DO_AT_END: This method is called effectively at the end of the tag, when the </lib:tag> is seen. The body has now already been processed and sent onto the output stream. So we only need to render "</a>".
    Note that these methods are implemented empty. You <b><u>*MUST*</u></b> overwrite them, and implement them in your class. See instructions from Thomas. Source code:
    <b>METHOD if_bsp_element~do_at_beginning.</b>
      DATA: html TYPE string.
      CONCATENATE `<a href="` me->href `">` INTO html.
      me->print_string( html ).
      rc = co_element_continue.
    ENDMETHOD.
    <b>METHOD if_bsp_element~do_at_end.</b>
      me->print_string( `</a>` ).
      rc = co_page_continue.
    ENDMETHOD.
    Notice that you DO NOT need that super call. The base method will always be empty (from definition, will never change). You also have a direct PRINT_STRING method in newer SPs. The return code you must set. (To tell the truth, the constants for RC have been picked so perfectly that if you forget them, it should not hurt in 85% of the cases.)
    That is it. Test page. Mine worked!
    Of course, we can start looking at more exotic things, like empty tags, at tags that skip their bodies if not required, processing the body, validation, etc.
    But this overview was just to give you that first success feeling, and also to give you a better framework for understanding more of the documentation as you continue to read.
    Recommended: read <a href="/people/brian.mckellar/blog/2004/06/11/bsp-trouble-shooting-getting-help">Getting Help</a> to see how you can quickly navigate between BSP page and a tag's definition, from where you also quickly get to the implementation class of the tag.
    bye, brian
    PS: Now if this is not already the first page of your weblog done

  • The trouble of applying Microsoft Update in June 2006

    Hi,
    I used an ActiveX control in BSP Application(IC Web Client), and it worked fine.
    However, JavaScript error occured when latest Microsoft Update was applied.
    It was not possible to control ActiveX.
    Perhaps, I think that it is because of Microsoft Hotfix 912945.
    But the trouble is different from assumed what.
    I have already tried to put activx component in a normal html page and it works fine.
    Please help me resolve this.
    Thanks in advance,
    Takehiko Kurosawa

    At last, I was able to solve the problem.
    I opened the security tab in Internet Option, and
    added the host name of ICWC(ex. *intec.co.jp) to the Web site of Intranet.
    I can confirm that ActiveX control works fine now.
    Jung's advice, "no differences between the plain html page and the BSP",
    has stimulated to solve the problem.
    I noticed a difference between execution on local PC and execution on Web/AP Server.
    Result of examining the difference, it turned out that it works fine on Intranet,
    but it doesn't work fine on Internet.
    Thanks a lot for your help.
    regards,
    Takehiko Kurosawa

  • Function calls in BSP

    Hi guys,
    Can I call a function module in a BSP application? Everytime when I call a function module,  I get the error message :'The page cannot be displayed'. Could anyone help me on this? Thanks.
    Regards,
    Conrad

    How do you try to call is what we are all asking.
    Do you use this format?
    CALL FUNCTION 'CRM_SVY_DB_CONVERT_STRING2HEX'
    Please also do as Thomas asked and turn off your friendly HTTP errors
    <a href="/people/brian.mckellar/blog/2004/06/11/bsp-trouble-shooting-getting-help">BSP Trouble Shooting: Getting Help</a>
    Have you debugged your BSP yet to see exactly where it blows up?
    Do you have a short dump in the system? (ST22)

  • To add attachment in BSP page

    Hi all,
    we have a requirement where we have to attach a doc in our BSP page. Please let me know how it can be achieved and in future how this doc can be retrived.
    Thanks in advance.
    Regards,
    Vithalprasad

    As Thomas suggested you should use <htmlb:fileUpload> to allow files to be attached to service tickets from BSP page. And the same can be stored either in a Ztable or in SAP DMS.
    for file upload - check out SBSPEXT_HTMLB/fileupload.bsp
    alos check out this weblog.
    /people/mark.finnern/blog/2003/09/23/bsp-programming-handling-of-non-html-documents
    BSP FAQ
    /people/brian.mckellar/blog/2003/10/23/bsp-trouble-shooting-frequently-asked-short-questions
    Regards
    Raja

  • Problems with encoded parenthesis in URL of BSP application

    Hi,
    our BSP application has following url:
    http://sap-host/sap/bc/bsp/sap/zapp/index.html
    After login we addionaly get a parentheses-part in the url (url mangling):
    http://sap-host/sap(bD4JHFSIBSF==)/bc/bsp/sap/zapp/index.html
    Everything works fine as far as we access the sap-host dircetly. When we want to access over Websphere-Portal with a proxy-servlet (reverse-proxy), the login is correct and after login we get an error 404 (not found). This happens because the proxy encodes the parentheses in the url with %28 and %29. Another problem is, that i have no chance to change the proxy-configuration, because it´s not in my responsibility.
    Is there any possibility to get the icm/icf work with these encoded parenthesis?
    I didn´t find anything helpful in the sdn/forums/wiki...
    Thx a lot!

    Hi,
    You have to manage the URL mangling when using reverse proxies.
    For exemple with Apache as a reverse proxy you need this kind of rewrite rule :
    RewriteRule  ^/(sap\(.*)    https://internalHost:internalPort/$1  [P,L]
    If you have no chance of changing the proxy configuration, you are in trouble...
    Good luck !
    Olivier

  • How to accept XML file in BSP .

    Hi experts,
    We are implementing PAYMENT GATEWAY application in BSP,
    The requirement is like we will divert our user on BANK for the payment,
    at the end of payment procedure the bank will diver again that user on our site,
    The moment we get user back on our site we have to give confirmation to the bank by sending some parameters,
    till now everything is going fine,
    But Now bank will send 1 XML file to us having some parameters  for the final confirmation,
    so my problem is that how to accept that page from bank and read that parameters.
    is there any provision in BSP to Accept XML file from some third party on internet,
    We are suppose to provide a url to bank for this final confimation,
    so what this url will be if i have to accept xml file on this,
    will a normal BSP url will do or we have to go for some other method .
    XML file structure send by BANK.
    <?xml version='1.0' encoding='UTF-8'?>
    <Verify  PER='451sdf' TAL='400' REF=’ABCD123412341234’
    STATUS='SUCCESS'>
    </Verify>

    Hi Paresh,
    many thousands of thankyou's for awarding me all those wonderful points. I can't begin to tell you what a magnanimous and generous benefactor you are. I hope you don't mind if I make a copy of those valuable points and frame them up on my wall so that I can forever remember their significance and the wonderful being that bequested them upon my unworthy self.
    Sheesh!! Okay - sarcasm itch has been successfully scratched.
    Now onto your questions.
    A HTTP request handler is a class that "handles" HTTP requests. In other words it is the piece of ABAP code that gets lauched when the HTTP request comes into the ICF from the HTTP client. The online help has guidance on how to build your own at http://help.sap.com/saphelp_nw04/helpdata/en/72/c730dac06511d4ad310000e83539c3/frameset.htm and there are several blogs in SDN on this as well.
    I mentioned you could also do it using the BSP runtime as well if you wanted. This just means building a BSP application to receive the HTTP request from your bank, extract the XML payload, and then build a XML response. The code I provided on my previous response shows how to access the HTTP request payload contents.
    If you do not have anyone in your organisation who knows how to do this then I suggest you source a suitably experienced programmer to do the development for you.
    I have tested the link I sent you and it works fine for me. If you are still having trouble search for "Simple Transformation" in the SAP Online Help.
    Cheers
    Graham Robbo

Maybe you are looking for

  • Money taken from my account

    Hi , can anyone please help me ... I was notified by Skype that that an order had been placed on my account for 100 euros on 2nd Feb , I received a follow up email stating that because of suspicious activity my account was suspended ( Which to me sug

  • After upgrading from FM 9 to 11, FM crashes when the Print Book command is used. Suggestions?

    After upgrading from FrameMaker 9 to 11, the program crashes when the Print Book command is selected to print files that were converted from FM 9 to FM11. (Resulting .pdf files are problematic, w/ broken links and non-functioning bookmarks.)  Has any

  • XML parser for C 2.0.2

    I would like to get the parser for C 2.2 for NT from somewhere. On the product listing on technet it is liste, but when I go to the download page, I can only find version 2.0.1!! Where can I find the latest version please? null

  • Can I use a project/issue management software with LabVIEW?

    There are project/issue management softwares. I only know Redmine. Can I use LabVIEW with such softwares?

  • Flexible payment term

    Hi everybody I would like to ask if it's possible to create new payment term totally flexible: the customer wants to have different amount  (not linked to percentages) to fix the payment both with vendors and customers. And this changes every time a