Skip to Content

Updated Version!

Updated Version Now Available BSP Value Input Help Popups Version 2.0 Part 1.

Further Enhancements Now Available BSP Value Input Help Popups Version 3.0.

Introduction

I have to admit that I have both been looking forward to and dreading this particular Weblog.  Weeks ago when I created the outline for this series of Weblogs , I included the topic of Popup Value Input Helps.  I guess this was a little bit of challenge to me, because at the time I didn’t actually have a solution.  From the very beginning of my work with BSP, the thing I have been missing the most from traditional ABAP has been the easy to use Value Input Helps.  I think that long time ABAP programmers take for granted how wonderful this functionality really is.</p>

So I knew that this was functionality that I really wanted for my company.  In addition I had seen several requests for the same functionality on SDN.  There was even a recent discussion in one of BSP Programming: Writing a Pattern Engine where Brian McKellar suggests that the SDN community might come up with our own solution.  Well I though that there would be no better time to share what I have working so far.

method read_field_type.

  • Input: FIELD     TYPE ANY

  • Returning: VALUE( DATAREF )     TYPE STRING

  describe field field help-id dataref.

endmethod.

factory(

  •         disabled                    = me->disabled

         encode                      = me->encode

         id                          = me->id

         id_postfix                  = ‘__listBox’

         multiple                    = ‘TRUE’

         selections                  = me->selections

         size                        = ‘2’

         width                       = me->width ).

****Render the List Box

    while m_page_context->element_process( element = listbox ) = co_element_continue.

    endwhile. “End Listbox Render

    me->print_string( ‘&nbsp’ ).

****Build the Help Image

    data: image type ref to cl_htmlb_image.

    data: img_src type string.

    img_src = cl_bsp_mimes=>sap_icon( `ICON_PERSONAL_HELP` ).

****Create the Image

    image ?= cl_htmlb_image=>factory( id = me->id

                                      id_postfix = ‘__image’

                                      onclientclick = onhelp2

                                      src = img_src ).

****Render the Image

    while m_page_context->element_process( element = image ) = co_element_continue.

    endwhile.  “End Image Render

  else.

****Single selection – We will render an inputfield.  The ‘_’ Fields are for

****Model Binding

    data: inputfield type ref to cl_htmlb_inputfield.

    inputfield ?= cl_htmlb_inputfield=>factory(

                       alignment       = me->alignment

                       description     = me->description

                       design          = me->design

                       disabled        = me->disabled

                       encode          = me->encode

                       id              = me->id

                       id_postfix      = ‘__inputField’

                       invalid         = me->invalid

                       maxlength       = me->maxlength

                       required        = me->required

                       required       = me->required

                       showhelp        = ‘true’

                       onvaluehelp     = onhelp2

                       size            = me->size

                       size           = me->size

                       style           = me->style

                       tooltip         = me->tooltip

                       type            = ‘STRING’

                       value           = me->value

                       value          = me->value

                       visible         = me->visible

                       visible        = me->visible

                       width           = me->width ).

****Render the Input Field

    while m_page_context->element_process( element = inputfield ) = co_element_continue.

    endwhile. “End Input Field Render

  endif.

  data html type string.

  data: url_string type url.

****Build the URL to the Dummy – Loading… Page

  clear params.

  data: iframe_dummy_url type string.

  call method cl_http_ext_webapp=>create_url_for_bsp_application

    exporting

      bsp_application      = ‘zes_keg_shared’

      bsp_start_page       = ‘dummy.htm’

      bsp_start_parameters = params

    importing

      local_url            = iframe_dummy_url.

****Render the IFrame

  concatenate html

     “
into html.
prev_out = me->get_previous_out( ).
prev_out->print_string( html ).
clear html.

rc = co_element_done.

inputHelpDrag:DO_AT_BEGINNING
Before we go any further I should probably give you the few lines of code from the inputHelpDrag element as well.  I am loading a piece of JavaScript that I found on the Internet.  The code is Free for Commercial or Private use.  However I am not allowed to re-distribute the source code.  You can get it yourself from the original webpage .

Help Value Page

Now that we have finished with our BSP Elements, we are ready to start coding on our Help Value Page. As I said earlier, I coded this page as a stateless MVC. My View name is InputHelp.bsp and my controller name is InputHelp.do. We will look at the View first.

InputHelp.bsp View

My View starts off with the inclusion of the same JavaScript library that is necessary for the Drag Capabilities.  I then load the JavaScript I wrote that fires when the user selects OK or Cancel. These functions will close the Popup IFrame and copy the selected values back into the source elements.  Notice the JavaScript function that I call on the DocumentBody onLoad.  This is a function provided by the JavaScript Drag Library.  It allows me to select my Toolbar as the Drag anchor.  Next you see some processing to create my Pager, an Error message area, and finally the TableView control.  You will notice that I always leave my Help Value Table untyped.  That way the Help Value exit can return any structure.  Finally you find the rendering for the OK and Cancel buttons, followed by my custom element that downloads data to the frontend.  For more details on this element see Creating a BSP Extension for Downloading a Table.

                <xhtmlb:pager id     = “mu_pg1”

                              text   = “Page of $vMax$”

                              onPage = “pager_onPage”

                              vMax   = “c_tableselection_singleselect.

  endif.

  • if input is available, dispatch this input to subcomponent.

  • this call is only necessary for toplevel controllers.

  • ( if this is not a toplevel controller or no input is present,

  •   this call returns without any action)

  dispatch_input( ).

  • if any of the controllers has requested a navigation,

  • do not try to display, but leave current processing

  if is_navigation_requested( ) is not initial.

    return.

  endif.

****Call our View

  view = create_view( view_name = ‘InputHelp.bsp’ ).

  view->set_attribute( name = ‘model’      value = model2 ).

  call_view( view ).

function z_e_rfc_user_hv_exit.

*”—-


“Local interface:

*”  EXPORTING

*”     VALUE(IDATA) TYPE  TABTYPE_USER_ADDR

*”     VALUE(KEY_FIELD) TYPE  STRING

*”     VALUE(VALUE_FIELD) TYPE  STRING

*”     VALUE(DISP_FIELDS) TYPE  STRING_TABLE

*”—-


  select * from user_addr into table idata.

  sort idata by bname.

  key_field = ‘BNAME’.

  value_field = ‘NAME_TEXTC’.

  field-symbols:

function z_e_rfc_user_hv_exit_datatype.

*”—-


“Local interface:

*”  EXPORTING

*”     VALUE(DATA_TYPE) TYPE  STRING

*”—-


  data_type = ‘USER_ADDR’.

endfunction.

Closing

That was a lot of code!  Hopefully this example can at least get the ball rolling for anyone wanting to implement their own F4 style Value Help Popup.  I know that I’m not finished with mine yet.  In the coming months I would like to extend it with a third data selection option that uses the BAPI: BAPI_HELPVALUES_GET.  I also would like to enhance the MultiSelect so that it doesn’t have to pass a lot data from the server, to the client, and back again if a lot of entries are selected.  I am thinking about writing anything over 25 values into a server side cookie.  I will then write the key to this cookie into the listBox.  But all this will have to wait a little while.  Right now I am just happy to have my familiar ABAP F4 functionality back 🙂

To report this post you need to login first.

120 Comments

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

  1. Sumith Rajagopalan
    Hi,
    I’m new to BSP and have found your article an eye-opener to the possiblities of the same.  But I have encountered some problems.
    In the Compile_time_is_valid method, I am getting to error regarding the attributes
    me->c_inputfield_designs and
    me->c_invalid_types.
    What should these attributes like?

    Also in the Runtime_is_valid method, I can’t find the attribute me->mc_content.

    I am working on 4.7×100 system.

    Regards,
    Sumith

    (0) 
    1. Brian McKellar
      These are not errors per se, just freedom in writing. The weblog just describes the code highlights, and did not list the complete code. This has been discussed in detail in the BSP forum. Why not join us there? A quick search of the forum should give you some of the answers you are seeking. Thomas is also planning a new version of this master piece, which will then include full source listings.
      (0) 
    2. Brian McKellar
      These are not errors per se, just freedom in writing. The weblog just describes the code highlights, and did not list the complete code. This has been discussed in detail in the BSP forum. Why not join us there? A quick search of the forum should give you some of the answers you are seeking. Thomas is also planning a new version of this master piece, which will then include full source listings.
      (0) 
    3. Thomas Jung
      The other thing that is a factor here is that within ABAP we don’t really have a good mechanisim to share code in a community like this.  We of course have the excellent Change and Transport system.  But this is really designed for moving code within one’s own landscape.  If I were to destribute my example by CTS it would retain my system as the original.  In addition it would have to import my development class and the objects with my company’s naming standards.

      For the next version of this example, I have gather complete sections of code and downloaded them to text files. I then included these text files together with all the screen shots (many larger than what is allowed on a SDN WebLog) and included them all in a zip file.  Hopefully that will make such a large code example managable.

      (0) 
      1. Lamont Brush
        Have you run into an issue with using the inputField in disabled mode and trying to use the showhelp feature?  It looks like SAP intends for this to work in their SBSPEXT_HTMLB inputfield.bsp, test 4, but I can’t get it to show for my own nor this standard example.
        (0) 
        1. Thomas Jung
          I had the same issue in my 620 SP42 system.  Both the SAP example and my own coding do the same thing; the value help button disappears if you disable the inputField.  It does appear by the example you mentioned that SAP does not intend for this to happen.  This would also be inconsistent with Classic Dynpro, where you can activate a search help even on a disabled input field.  I suppose that a problem path for this would be a support issue via OSS.
          (0) 
  2. Sumith Rajagopalan
    Hi,
    I’m new to BSP and have found your article an eye-opener to the possiblities of the same.  But I have encountered some problems.
    In the Compile_time_is_valid method, I am getting to error regarding the attributes
    me->c_inputfield_designs and
    me->c_invalid_types.
    What should these attributes like?

    Also in the Runtime_is_valid method, I can’t find the attribute me->mc_content.

    I am working on 4.7×100 system.

    Regards,
    Sumith

    (0) 
    1. Brian McKellar
      These are not errors per se, just freedom in writing. The weblog just describes the code highlights, and did not list the complete code. This has been discussed in detail in the BSP forum. Why not join us there? A quick search of the forum should give you some of the answers you are seeking. Thomas is also planning a new version of this master piece, which will then include full source listings.
      (0) 
    2. Brian McKellar
      These are not errors per se, just freedom in writing. The weblog just describes the code highlights, and did not list the complete code. This has been discussed in detail in the BSP forum. Why not join us there? A quick search of the forum should give you some of the answers you are seeking. Thomas is also planning a new version of this master piece, which will then include full source listings.
      (0) 
    3. Thomas Jung
      The other thing that is a factor here is that within ABAP we don’t really have a good mechanisim to share code in a community like this.  We of course have the excellent Change and Transport system.  But this is really designed for moving code within one’s own landscape.  If I were to destribute my example by CTS it would retain my system as the original.  In addition it would have to import my development class and the objects with my company’s naming standards.

      For the next version of this example, I have gather complete sections of code and downloaded them to text files. I then included these text files together with all the screen shots (many larger than what is allowed on a SDN WebLog) and included them all in a zip file.  Hopefully that will make such a large code example managable.

      (0) 
      1. Lamont Brush
        Have you run into an issue with using the inputField in disabled mode and trying to use the showhelp feature?  It looks like SAP intends for this to work in their SBSPEXT_HTMLB inputfield.bsp, test 4, but I can’t get it to show for my own nor this standard example.
        (0) 
        1. Thomas Jung
          I had the same issue in my 620 SP42 system.  Both the SAP example and my own coding do the same thing; the value help button disappears if you disable the inputField.  It does appear by the example you mentioned that SAP does not intend for this to happen.  This would also be inconsistent with Classic Dynpro, where you can activate a search help even on a disabled input field.  I suppose that a problem path for this would be a support issue via OSS.
          (0) 
  3. Sumith Rajagopalan
    Hi,
    I’m new to BSP and have found your article an eye-opener to the possiblities of the same.  But I have encountered some problems.
    In the Compile_time_is_valid method, I am getting to error regarding the attributes
    me->c_inputfield_designs and
    me->c_invalid_types.
    What should these attributes like?

    Also in the Runtime_is_valid method, I can’t find the attribute me->mc_content.

    I am working on 4.7×100 system.

    Regards,
    Sumith

    (0) 
    1. Brian McKellar
      These are not errors per se, just freedom in writing. The weblog just describes the code highlights, and did not list the complete code. This has been discussed in detail in the BSP forum. Why not join us there? A quick search of the forum should give you some of the answers you are seeking. Thomas is also planning a new version of this master piece, which will then include full source listings.
      (0) 
    2. Brian McKellar
      These are not errors per se, just freedom in writing. The weblog just describes the code highlights, and did not list the complete code. This has been discussed in detail in the BSP forum. Why not join us there? A quick search of the forum should give you some of the answers you are seeking. Thomas is also planning a new version of this master piece, which will then include full source listings.
      (0) 
    3. Thomas Jung
      The other thing that is a factor here is that within ABAP we don’t really have a good mechanisim to share code in a community like this.  We of course have the excellent Change and Transport system.  But this is really designed for moving code within one’s own landscape.  If I were to destribute my example by CTS it would retain my system as the original.  In addition it would have to import my development class and the objects with my company’s naming standards.

      For the next version of this example, I have gather complete sections of code and downloaded them to text files. I then included these text files together with all the screen shots (many larger than what is allowed on a SDN WebLog) and included them all in a zip file.  Hopefully that will make such a large code example managable.

      (0) 
      1. Lamont Brush
        Have you run into an issue with using the inputField in disabled mode and trying to use the showhelp feature?  It looks like SAP intends for this to work in their SBSPEXT_HTMLB inputfield.bsp, test 4, but I can’t get it to show for my own nor this standard example.
        (0) 
        1. Thomas Jung
          I had the same issue in my 620 SP42 system.  Both the SAP example and my own coding do the same thing; the value help button disappears if you disable the inputField.  It does appear by the example you mentioned that SAP does not intend for this to happen.  This would also be inconsistent with Classic Dynpro, where you can activate a search help even on a disabled input field.  I suppose that a problem path for this would be a support issue via OSS.
          (0) 
  4. Anonymous
    Hi thomas .
       You have been solving my problems well. thanku very much.
          Here i created this extension and it’s getting fine except the Iframe is not like modal dialog box for that i think i need dragframe.js file . can u please share that file with me.
      Thanks in advance
    (0) 
    1. Thomas Jung
      I did not write the dragiframe.js. It is freely available code, but the author doesn’t want others to distribute it.  There is a link to the author’s website( http://www.mattkruse.com/ ) in the weblog.

      This is just the example of what I used.  There are other JavaScript libraries on the internet that do the same thing.  I thought this one was simple to use.

      (0) 
  5. Anonymous
    Hi thomas .
       You have been solving my problems well. thanku very much.
          Here i created this extension and it’s getting fine except the Iframe is not like modal dialog box for that i think i need dragframe.js file . can u please share that file with me.
      Thanks in advance
    (0) 
    1. Thomas Jung
      I did not write the dragiframe.js. It is freely available code, but the author doesn’t want others to distribute it.  There is a link to the author’s website( http://www.mattkruse.com/ ) in the weblog.

      This is just the example of what I used.  There are other JavaScript libraries on the internet that do the same thing.  I thought this one was simple to use.

      (0) 
  6. Anonymous
    Hi thomas .
       You have been solving my problems well. thanku very much.
          Here i created this extension and it’s getting fine except the Iframe is not like modal dialog box for that i think i need dragframe.js file . can u please share that file with me.
      Thanks in advance
    (0) 
    1. Thomas Jung
      I did not write the dragiframe.js. It is freely available code, but the author doesn’t want others to distribute it.  There is a link to the author’s website( http://www.mattkruse.com/ ) in the weblog.

      This is just the example of what I used.  There are other JavaScript libraries on the internet that do the same thing.  I thought this one was simple to use.

      (0) 
  7. Anonymous
    Hi thomas this is ,how r u.
          By using this extension i am getting input field for some Data Types. for example in KNA1 table  for kunnr field it’s not showing the input help but for land1 field it is showing the input help.
      How can i solve this problem.
    (0) 
    1. Thomas Jung

      I guess I need some more information on the problem you are having.  Which internal help approach are you using (simple value list, help exit, or the BAPI)?  I know that KNA1-KUNNR works for the BAPI method because I am using it:<br/><br/>    <zkeg:inputHelpV2 id       = “mq_0060_kunnr”<br/>                    value    = “//model/0060.kunnr”<br/>                    multiple = “false”<br/>                    rfcDest  = “<%= application->rfcdest %>”<br/>                    objtype  = “BUS2032″<br/>                    objname  = “SalesOrder”<br/>                    method   = “GetList”<br/>                    keyField = “KUNNR”<br/>                    param    = “CustomerNumber” /><br/><br/>[Screen Shot | https://weblogs.sdn.sap.com/weblogs/images/1918/Help_Customers.jpg]

      (0) 
      1. Anonymous

        Hi thomas i am using simple values list ,<br/><zkeg:inputHelp id      = “if_kunnr”<br/>                value   = “//model/kunnr”<br/>                dataRef = “<%= ZCL_ES_ABAP_UTILITIES=>READ_FIELD_TYPE( model->kunnr ) %>”<br/><br/>In this  way can i able to get?<br/>if not, what can i do?<br/><br/>

        (0) 
      2. Anonymous

        Hi thomas i am using simple value list<br/><zkeg:inputHelp id      = “if_kunnr1″<br/>                value   = “//model/kunnr_1″<br/>                dataRef = “<%= ZCL_ES_ABAP_UTILITIES=>READ_FIELD_TYPE( model->kunnr_1 ) %>”<br/><br/>In this way can i able to get?<br/>If not what can i do?

        (0) 
  8. Anonymous
    Hi thomas this is ,how r u.
          By using this extension i am getting input field for some Data Types. for example in KNA1 table  for kunnr field it’s not showing the input help but for land1 field it is showing the input help.
      How can i solve this problem.
    (0) 
    1. Thomas Jung

      I guess I need some more information on the problem you are having.  Which internal help approach are you using (simple value list, help exit, or the BAPI)?  I know that KNA1-KUNNR works for the BAPI method because I am using it:<br/><br/>    <zkeg:inputHelpV2 id       = “mq_0060_kunnr”<br/>                    value    = “//model/0060.kunnr”<br/>                    multiple = “false”<br/>                    rfcDest  = “<%= application->rfcdest %>”<br/>                    objtype  = “BUS2032″<br/>                    objname  = “SalesOrder”<br/>                    method   = “GetList”<br/>                    keyField = “KUNNR”<br/>                    param    = “CustomerNumber” /><br/><br/>[Screen Shot | https://weblogs.sdn.sap.com/weblogs/images/1918/Help_Customers.jpg]

      (0) 
      1. Anonymous

        Hi thomas i am using simple values list ,<br/><zkeg:inputHelp id      = “if_kunnr”<br/>                value   = “//model/kunnr”<br/>                dataRef = “<%= ZCL_ES_ABAP_UTILITIES=>READ_FIELD_TYPE( model->kunnr ) %>”<br/><br/>In this  way can i able to get?<br/>if not, what can i do?<br/><br/>

        (0) 
      2. Anonymous

        Hi thomas i am using simple value list<br/><zkeg:inputHelp id      = “if_kunnr1″<br/>                value   = “//model/kunnr_1″<br/>                dataRef = “<%= ZCL_ES_ABAP_UTILITIES=>READ_FIELD_TYPE( model->kunnr_1 ) %>”<br/><br/>In this way can i able to get?<br/>If not what can i do?

        (0) 
  9. Anonymous
    Hi thomas this is ,how r u.
          By using this extension i am getting input field for some Data Types. for example in KNA1 table  for kunnr field it’s not showing the input help but for land1 field it is showing the input help.
      How can i solve this problem.
    (0) 
    1. Thomas Jung

      I guess I need some more information on the problem you are having.  Which internal help approach are you using (simple value list, help exit, or the BAPI)?  I know that KNA1-KUNNR works for the BAPI method because I am using it:<br/><br/>    <zkeg:inputHelpV2 id       = “mq_0060_kunnr”<br/>                    value    = “//model/0060.kunnr”<br/>                    multiple = “false”<br/>                    rfcDest  = “<%= application->rfcdest %>”<br/>                    objtype  = “BUS2032″<br/>                    objname  = “SalesOrder”<br/>                    method   = “GetList”<br/>                    keyField = “KUNNR”<br/>                    param    = “CustomerNumber” /><br/><br/>[Screen Shot | https://weblogs.sdn.sap.com/weblogs/images/1918/Help_Customers.jpg]

      (0) 
      1. Anonymous

        Hi thomas i am using simple values list ,<br/><zkeg:inputHelp id      = “if_kunnr”<br/>                value   = “//model/kunnr”<br/>                dataRef = “<%= ZCL_ES_ABAP_UTILITIES=>READ_FIELD_TYPE( model->kunnr ) %>”<br/><br/>In this  way can i able to get?<br/>if not, what can i do?<br/><br/>

        (0) 
      2. Anonymous

        Hi thomas i am using simple value list<br/><zkeg:inputHelp id      = “if_kunnr1″<br/>                value   = “//model/kunnr_1″<br/>                dataRef = “<%= ZCL_ES_ABAP_UTILITIES=>READ_FIELD_TYPE( model->kunnr_1 ) %>”<br/><br/>In this way can i able to get?<br/>If not what can i do?

        (0) 
  10. Anonymous
    Hi thomas
    i created this extension i think u know because i already asked couple of question and u answered quite well.
        My webAS server is seperate from R/3 server.

       I dont know much abuot BOR objects.
        One more question is if i dont have ‘BOR’ Object for every field how can i get the input help values from the R/3 server. does i need to write FM for every field.

    (0) 
    1. Thomas Jung
      If you must connect remotely I haven’t found too many options besides BOR (BAPI Help and writting function modules).  What I have done in the past is to create my own dummy BOR Object.  I have a single object for BSP Help.  When I want to expose a new field, I just add another attribute to it. 

      I am working on a new method for my Help Extension that works with the need to for the BAPI.  It support elemental search helps.  Currently I have it working for local systems only, but I am going to look into remote enableing it.  Once I have it completed I am update the example code on SDN.

      (0) 
  11. Anonymous
    Hi thomas
    i created this extension i think u know because i already asked couple of question and u answered quite well.
        My webAS server is seperate from R/3 server.

       I dont know much abuot BOR objects.
        One more question is if i dont have ‘BOR’ Object for every field how can i get the input help values from the R/3 server. does i need to write FM for every field.

    (0) 
    1. Thomas Jung
      If you must connect remotely I haven’t found too many options besides BOR (BAPI Help and writting function modules).  What I have done in the past is to create my own dummy BOR Object.  I have a single object for BSP Help.  When I want to expose a new field, I just add another attribute to it. 

      I am working on a new method for my Help Extension that works with the need to for the BAPI.  It support elemental search helps.  Currently I have it working for local systems only, but I am going to look into remote enableing it.  Once I have it completed I am update the example code on SDN.

      (0) 
  12. Anonymous
    Hi thomas
    i created this extension i think u know because i already asked couple of question and u answered quite well.
        My webAS server is seperate from R/3 server.

       I dont know much abuot BOR objects.
        One more question is if i dont have ‘BOR’ Object for every field how can i get the input help values from the R/3 server. does i need to write FM for every field.

    (0) 
    1. Thomas Jung
      If you must connect remotely I haven’t found too many options besides BOR (BAPI Help and writting function modules).  What I have done in the past is to create my own dummy BOR Object.  I have a single object for BSP Help.  When I want to expose a new field, I just add another attribute to it. 

      I am working on a new method for my Help Extension that works with the need to for the BAPI.  It support elemental search helps.  Currently I have it working for local systems only, but I am going to look into remote enableing it.  Once I have it completed I am update the example code on SDN.

      (0) 
  13. Manoj Menon
    As of now , I get the input field showing inthe view and on clicking the help button , I get the popup window ,but in the window I get the following error.I put break points in the class ,but it does not go to the code where the exception is raised.

    Note : I am trying to implement a single field input box F4 help only.Just the basic.

    I would appreciate any thoughts

    Following is the error text
    Exception Class CX_SY_MOVE_CAST_ERROR
    Error name MOVE_CAST_ERROR
    Program CL_BSP_PAGE_BASE==============CP
    Include CL_BSP_PAGE_BASE==============CM014
    ABAP Class CL_BSP_PAGE_BASE
    Method IF_BSP_PAGE~SET_ATTRIBUTE
    Row 24 
    Long Text –

    (0) 
    1. Thomas Jung
      I’m not sure we have enough information here to determine exactly where the problem is.  I would suspect that the problem is between the controller and the view of the popup window.  The error is in page set_attribute.  Did you define the model attribute on the view?  Is it the correct data type? 
      (0) 
  14. Manoj Menon
    As of now , I get the input field showing inthe view and on clicking the help button , I get the popup window ,but in the window I get the following error.I put break points in the class ,but it does not go to the code where the exception is raised.

    Note : I am trying to implement a single field input box F4 help only.Just the basic.

    I would appreciate any thoughts

    Following is the error text
    Exception Class CX_SY_MOVE_CAST_ERROR
    Error name MOVE_CAST_ERROR
    Program CL_BSP_PAGE_BASE==============CP
    Include CL_BSP_PAGE_BASE==============CM014
    ABAP Class CL_BSP_PAGE_BASE
    Method IF_BSP_PAGE~SET_ATTRIBUTE
    Row 24 
    Long Text –

    (0) 
    1. Thomas Jung
      I’m not sure we have enough information here to determine exactly where the problem is.  I would suspect that the problem is between the controller and the view of the popup window.  The error is in page set_attribute.  Did you define the model attribute on the view?  Is it the correct data type? 
      (0) 
  15. Manoj Menon
    As of now , I get the input field showing inthe view and on clicking the help button , I get the popup window ,but in the window I get the following error.I put break points in the class ,but it does not go to the code where the exception is raised.

    Note : I am trying to implement a single field input box F4 help only.Just the basic.

    I would appreciate any thoughts

    Following is the error text
    Exception Class CX_SY_MOVE_CAST_ERROR
    Error name MOVE_CAST_ERROR
    Program CL_BSP_PAGE_BASE==============CP
    Include CL_BSP_PAGE_BASE==============CM014
    ABAP Class CL_BSP_PAGE_BASE
    Method IF_BSP_PAGE~SET_ATTRIBUTE
    Row 24 
    Long Text –

    (0) 
    1. Thomas Jung
      I’m not sure we have enough information here to determine exactly where the problem is.  I would suspect that the problem is between the controller and the view of the popup window.  The error is in page set_attribute.  Did you define the model attribute on the view?  Is it the correct data type? 
      (0) 
  16. Manoj Menon
    I have got the window to pop up with data in it.
    If I select a entry and hit OK , it does not close the popup.

    However if I hit OK button with out selecting the popup , it closes the window

    In the model->BUILD_ACCEPT_SELECTION_SCRIPT :
    if the following code is present ( I believe it transfer the selected value to the original i/p field), the pop up does not close.If I comment the code , it closes .

    Appreciate your thoughts
    ************CODE segment************
    *          CONCATENATE me->js_close1
    *           `parent.document.getElementById(“`
    *           me->element_id
    *           `”).value =’`
    *           key
    *           `’;`
    *           `parent.document.getElementById(“`
    *           me->element_id
    *           `”).title =’`
    *           value
    *           `’;`
    *           INTO me->js_close1.

    (0) 
    1. Thomas Jung
      It sounds like you are getting a JavaScript error in your browser.  Can you post what that error is?  By default IE doesn’t show error, it just places an icon in the lower left hand corner of the browser window. 

      You are correct that this is the code to transfer the values back.  You might also set a breakpoin at this line of code and see what the value in me->element_id is.  Also try uncommenting the two statements one at time to see if it is the value or the title or both that is the problem.

      (0) 
      1. Manoj Menon
        Hi Tom,

        a)The first javascript error occurs when I click th button for help to invoke the opoup

        Error: Object expected
        Code 0

        Url:  http://…../input.do?ElementId=gi_help_Element&IFrameId=gi_help_element__iFrame

        The second javascript error occurs after I have selected an entry and hit the OK(green tick) button.


        b)second error occurs when I select the entry :

        It is the same error as the first one.

        c)third is when I click the OK button after selection

        Error: ‘parent.document.getElementById(..)’ is null or not a object

        Url:  http://…../input.do?ElementId=gi_help_Element&IFrameId=gi_help_element__iFrame

        Tom I am also not very clear as to how the seleted value is returned to the input box.Should it not be set back to an attribut of the model .

        The variable me->element_id = “gi_help_element”.

        And the errors occurs if either the title or value related javasripts is present.

        Thanks a bunch for your reply.
        Manoj Menon

        (0) 
        1. Thomas Jung
          >Tom I am also not very clear as to how the seleted value is returned to the input box.Should it not be set back to an attribut of the model

          You need to understand what parts of this solution (and BSP and general) are client side and which are server side.  There is a clear distincition.  The help popup is running in a separate stateless BSP application.  Therefore all it does is copy the value in the client side element from the popup to the main window.  That is what this JavaScript is doing.  The parent.document allows the popup to reference the main document and the element within it.  Nothing comes back to ABAP until a server side event occurs.  Only then is the value in the parent element transfered to the server.

          Your JavaScript eroro on the parent.document.getElementById says it can’t find the parent element.  What browser are you using?  Did you use the popup window script from the website that I linked to or did you find another one? 

          (0) 
          1. Manoj Menon
            Tom,
            I am using the code that you have put out for all of this application,including all javascripts.Since I am implementing just a bare bone popup for a single field (for now) ,I have commented a fair bit of your code that I think is not relevant.

            I am using
            Microsoft Internet explorer
            6.0.2800.1106.xpsp2.050301-1526
            Cipher Strength : 128-bit

            (0) 
            1. Thomas Jung
              So you did download the popup code from the other website?  You help is opening in a floating iFrame right?  It seems like your elements aren’t in an iframe (hence parent.document.element isn’t working).  I am a little concerned when you say that you have “commented a fair bit of your code that I think is not relevant”.  I as I try to solve your problem I obviously can’t see your coding.  Therefore I have to make assumptions about what I think is there.  This is even more difficult if not all the code is active.
              (0) 
              1. Manoj Menon
                Tom,
                The parent.document.getElementById for the input box was returning gi_help_element and it could not find this element in the parent document.After Debugging the create of the element I found that the id is gi_help_element__inputField .I hard coded (for the moment) and now the pop closes and returns the value .

                Thanks for all your time,
                I will probably bug you as I try to clean up and make this pop up more generic.

                Manoj

                (0) 
  17. Manoj Menon
    I have got the window to pop up with data in it.
    If I select a entry and hit OK , it does not close the popup.

    However if I hit OK button with out selecting the popup , it closes the window

    In the model->BUILD_ACCEPT_SELECTION_SCRIPT :
    if the following code is present ( I believe it transfer the selected value to the original i/p field), the pop up does not close.If I comment the code , it closes .

    Appreciate your thoughts
    ************CODE segment************
    *          CONCATENATE me->js_close1
    *           `parent.document.getElementById(“`
    *           me->element_id
    *           `”).value =’`
    *           key
    *           `’;`
    *           `parent.document.getElementById(“`
    *           me->element_id
    *           `”).title =’`
    *           value
    *           `’;`
    *           INTO me->js_close1.

    (0) 
    1. Thomas Jung
      It sounds like you are getting a JavaScript error in your browser.  Can you post what that error is?  By default IE doesn’t show error, it just places an icon in the lower left hand corner of the browser window. 

      You are correct that this is the code to transfer the values back.  You might also set a breakpoin at this line of code and see what the value in me->element_id is.  Also try uncommenting the two statements one at time to see if it is the value or the title or both that is the problem.

      (0) 
      1. Manoj Menon
        Hi Tom,

        a)The first javascript error occurs when I click th button for help to invoke the opoup

        Error: Object expected
        Code 0

        Url:  http://…../input.do?ElementId=gi_help_Element&IFrameId=gi_help_element__iFrame

        The second javascript error occurs after I have selected an entry and hit the OK(green tick) button.


        b)second error occurs when I select the entry :

        It is the same error as the first one.

        c)third is when I click the OK button after selection

        Error: ‘parent.document.getElementById(..)’ is null or not a object

        Url:  http://…../input.do?ElementId=gi_help_Element&IFrameId=gi_help_element__iFrame

        Tom I am also not very clear as to how the seleted value is returned to the input box.Should it not be set back to an attribut of the model .

        The variable me->element_id = “gi_help_element”.

        And the errors occurs if either the title or value related javasripts is present.

        Thanks a bunch for your reply.
        Manoj Menon

        (0) 
        1. Thomas Jung
          >Tom I am also not very clear as to how the seleted value is returned to the input box.Should it not be set back to an attribut of the model

          You need to understand what parts of this solution (and BSP and general) are client side and which are server side.  There is a clear distincition.  The help popup is running in a separate stateless BSP application.  Therefore all it does is copy the value in the client side element from the popup to the main window.  That is what this JavaScript is doing.  The parent.document allows the popup to reference the main document and the element within it.  Nothing comes back to ABAP until a server side event occurs.  Only then is the value in the parent element transfered to the server.

          Your JavaScript eroro on the parent.document.getElementById says it can’t find the parent element.  What browser are you using?  Did you use the popup window script from the website that I linked to or did you find another one? 

          (0) 
          1. Manoj Menon
            Tom,
            I am using the code that you have put out for all of this application,including all javascripts.Since I am implementing just a bare bone popup for a single field (for now) ,I have commented a fair bit of your code that I think is not relevant.

            I am using
            Microsoft Internet explorer
            6.0.2800.1106.xpsp2.050301-1526
            Cipher Strength : 128-bit

            (0) 
            1. Thomas Jung
              So you did download the popup code from the other website?  You help is opening in a floating iFrame right?  It seems like your elements aren’t in an iframe (hence parent.document.element isn’t working).  I am a little concerned when you say that you have “commented a fair bit of your code that I think is not relevant”.  I as I try to solve your problem I obviously can’t see your coding.  Therefore I have to make assumptions about what I think is there.  This is even more difficult if not all the code is active.
              (0) 
              1. Manoj Menon
                Tom,
                The parent.document.getElementById for the input box was returning gi_help_element and it could not find this element in the parent document.After Debugging the create of the element I found that the id is gi_help_element__inputField .I hard coded (for the moment) and now the pop closes and returns the value .

                Thanks for all your time,
                I will probably bug you as I try to clean up and make this pop up more generic.

                Manoj

                (0) 
  18. Manoj Menon
    I have got the window to pop up with data in it.
    If I select a entry and hit OK , it does not close the popup.

    However if I hit OK button with out selecting the popup , it closes the window

    In the model->BUILD_ACCEPT_SELECTION_SCRIPT :
    if the following code is present ( I believe it transfer the selected value to the original i/p field), the pop up does not close.If I comment the code , it closes .

    Appreciate your thoughts
    ************CODE segment************
    *          CONCATENATE me->js_close1
    *           `parent.document.getElementById(“`
    *           me->element_id
    *           `”).value =’`
    *           key
    *           `’;`
    *           `parent.document.getElementById(“`
    *           me->element_id
    *           `”).title =’`
    *           value
    *           `’;`
    *           INTO me->js_close1.

    (0) 
    1. Thomas Jung
      It sounds like you are getting a JavaScript error in your browser.  Can you post what that error is?  By default IE doesn’t show error, it just places an icon in the lower left hand corner of the browser window. 

      You are correct that this is the code to transfer the values back.  You might also set a breakpoin at this line of code and see what the value in me->element_id is.  Also try uncommenting the two statements one at time to see if it is the value or the title or both that is the problem.

      (0) 
      1. Manoj Menon
        Hi Tom,

        a)The first javascript error occurs when I click th button for help to invoke the opoup

        Error: Object expected
        Code 0

        Url:  http://…../input.do?ElementId=gi_help_Element&IFrameId=gi_help_element__iFrame

        The second javascript error occurs after I have selected an entry and hit the OK(green tick) button.


        b)second error occurs when I select the entry :

        It is the same error as the first one.

        c)third is when I click the OK button after selection

        Error: ‘parent.document.getElementById(..)’ is null or not a object

        Url:  http://…../input.do?ElementId=gi_help_Element&IFrameId=gi_help_element__iFrame

        Tom I am also not very clear as to how the seleted value is returned to the input box.Should it not be set back to an attribut of the model .

        The variable me->element_id = “gi_help_element”.

        And the errors occurs if either the title or value related javasripts is present.

        Thanks a bunch for your reply.
        Manoj Menon

        (0) 
        1. Thomas Jung
          >Tom I am also not very clear as to how the seleted value is returned to the input box.Should it not be set back to an attribut of the model

          You need to understand what parts of this solution (and BSP and general) are client side and which are server side.  There is a clear distincition.  The help popup is running in a separate stateless BSP application.  Therefore all it does is copy the value in the client side element from the popup to the main window.  That is what this JavaScript is doing.  The parent.document allows the popup to reference the main document and the element within it.  Nothing comes back to ABAP until a server side event occurs.  Only then is the value in the parent element transfered to the server.

          Your JavaScript eroro on the parent.document.getElementById says it can’t find the parent element.  What browser are you using?  Did you use the popup window script from the website that I linked to or did you find another one? 

          (0) 
          1. Manoj Menon
            Tom,
            I am using the code that you have put out for all of this application,including all javascripts.Since I am implementing just a bare bone popup for a single field (for now) ,I have commented a fair bit of your code that I think is not relevant.

            I am using
            Microsoft Internet explorer
            6.0.2800.1106.xpsp2.050301-1526
            Cipher Strength : 128-bit

            (0) 
            1. Thomas Jung
              So you did download the popup code from the other website?  You help is opening in a floating iFrame right?  It seems like your elements aren’t in an iframe (hence parent.document.element isn’t working).  I am a little concerned when you say that you have “commented a fair bit of your code that I think is not relevant”.  I as I try to solve your problem I obviously can’t see your coding.  Therefore I have to make assumptions about what I think is there.  This is even more difficult if not all the code is active.
              (0) 
              1. Manoj Menon
                Tom,
                The parent.document.getElementById for the input box was returning gi_help_element and it could not find this element in the parent document.After Debugging the create of the element I found that the id is gi_help_element__inputField .I hard coded (for the moment) and now the pop closes and returns the value .

                Thanks for all your time,
                I will probably bug you as I try to clean up and make this pop up more generic.

                Manoj

                (0) 
  19. Sushmita Sen

    Hello everyone….<br/><br/>I have implemented the BSP extension as explained here – but i am not able to figure out how this extension should be used to trigger the input help window<br/><br/>Being new to BSP programming i have a very basic question – in my application i have defined an input field as below – <br/><htmlb:inputField id          = “CHNUMBER_LOW”<br/>                  size        = “10”<br/>                  showHelp    = “X”<br/>                  onValueHelp = “alert(‘ValueHelpPressed’)” /><br/><br/>How do i use the BSP extension ZKEG to trigger the F4 help when the user clicks on the button ?<br/><br/>Can any one help me ?<br/><br/>Thanks & Regards<br/>Sen

    (0) 
    1. Thomas Jung Post author
      Please, if you are going to send the same request to my personal email, my work email and post the question on SDN; at least let me know that.

      Here is the answer that I sent you via email:
      Well the zkeg:inputHelp is a wrapper around the normal htmlb:inputField. You use the new element instead of htmlb:inputField It already has all the JavaScript implemented to create a popup.  However it isn’t a popup window like an alert or another browser window. It is uses layering to create a floating window within the current browser instance.  Once you have implemented the extension, all this logic is hidden from the consumer, all they have to do is use the extension.

      I should mention that for the SAP Press Book, Advanced BSP Programming, we created an updated version of the value help.  There is a CD that comes with the book.  It has a transport file on it, so you can just import the finished solution directly into your system.

      I might add that implementing a custom BSP Extension Element is not really a beginner’s task.   You should probably read up on composite elements and creating your BSP Extensions for good background information.

      (0) 
  20. Sushmita Sen

    Hello everyone….<br/><br/>I have implemented the BSP extension as explained here – but i am not able to figure out how this extension should be used to trigger the input help window<br/><br/>Being new to BSP programming i have a very basic question – in my application i have defined an input field as below – <br/><htmlb:inputField id          = “CHNUMBER_LOW”<br/>                  size        = “10”<br/>                  showHelp    = “X”<br/>                  onValueHelp = “alert(‘ValueHelpPressed’)” /><br/><br/>How do i use the BSP extension ZKEG to trigger the F4 help when the user clicks on the button ?<br/><br/>Can any one help me ?<br/><br/>Thanks & Regards<br/>Sen

    (0) 
    1. Thomas Jung Post author
      Please, if you are going to send the same request to my personal email, my work email and post the question on SDN; at least let me know that.

      Here is the answer that I sent you via email:
      Well the zkeg:inputHelp is a wrapper around the normal htmlb:inputField. You use the new element instead of htmlb:inputField It already has all the JavaScript implemented to create a popup.  However it isn’t a popup window like an alert or another browser window. It is uses layering to create a floating window within the current browser instance.  Once you have implemented the extension, all this logic is hidden from the consumer, all they have to do is use the extension.

      I should mention that for the SAP Press Book, Advanced BSP Programming, we created an updated version of the value help.  There is a CD that comes with the book.  It has a transport file on it, so you can just import the finished solution directly into your system.

      I might add that implementing a custom BSP Extension Element is not really a beginner’s task.   You should probably read up on composite elements and creating your BSP Extensions for good background information.

      (0) 
  21. Sushmita Sen

    Hello everyone….<br/><br/>I have implemented the BSP extension as explained here – but i am not able to figure out how this extension should be used to trigger the input help window<br/><br/>Being new to BSP programming i have a very basic question – in my application i have defined an input field as below – <br/><htmlb:inputField id          = “CHNUMBER_LOW”<br/>                  size        = “10”<br/>                  showHelp    = “X”<br/>                  onValueHelp = “alert(‘ValueHelpPressed’)” /><br/><br/>How do i use the BSP extension ZKEG to trigger the F4 help when the user clicks on the button ?<br/><br/>Can any one help me ?<br/><br/>Thanks & Regards<br/>Sen

    (0) 
    1. Thomas Jung Post author
      Please, if you are going to send the same request to my personal email, my work email and post the question on SDN; at least let me know that.

      Here is the answer that I sent you via email:
      Well the zkeg:inputHelp is a wrapper around the normal htmlb:inputField. You use the new element instead of htmlb:inputField It already has all the JavaScript implemented to create a popup.  However it isn’t a popup window like an alert or another browser window. It is uses layering to create a floating window within the current browser instance.  Once you have implemented the extension, all this logic is hidden from the consumer, all they have to do is use the extension.

      I should mention that for the SAP Press Book, Advanced BSP Programming, we created an updated version of the value help.  There is a CD that comes with the book.  It has a transport file on it, so you can just import the finished solution directly into your system.

      I might add that implementing a custom BSP Extension Element is not really a beginner’s task.   You should probably read up on composite elements and creating your BSP Extensions for good background information.

      (0) 
  22. Matthias Wendl
    Hi,

    I’m experiencing a problem while using this bee.

    It works marvelous inside all my applications as long as I don’t have the “Supports Portal Integration” option checked.
    Checking this option leads to some javascript errors “permission denied” and “access denied” and I can’t close/hide the iframe any more, no matter whether I want to fill the inputfield or not.

    Can anyone please help?

    Thanks in advance
    Matthias

    (0) 
    1. Thomas Jung Post author
      I have the following solution in the latest version.  I tested it and it worked fine on my system/portal.

      I made copy of the BSP application that holds the Content for the Value Help: ZES_VALUEHELP -> ZES_VALUEHELP2. I set the Support Portal Integration flag on this application. 

      In the element handler class method DO_AT_BEGINNNING, near the logic that I used to construct the URL to the HELP application I changed it to the following logic:

      DATA: application TYPE string,
              page        TYPE REF TO if_bsp_page,
              sessionmanagemnt(1) TYPE c.
        page =  m_page_context->get_page( ).
        application = page->get_application_name( ).

        TRANSLATE application TO UPPER CASE.
        SELECT SINGLE sessionmanagemnt FROM o2appl INTO sessionmanagemnt
                WHERE applname = application
                  AND version  = ‘A’.
        DATA: l_application TYPE string.
        IF sessionmanagemnt is initial.
           l_application = zcl_es_bsp_elmnt_input_help_v2=>bsp_application.
        else.
           l_application = zcl_es_bsp_elmnt_input_help_v2=>bsp_application_portal.
        endif.

      ****Create the URL to our Input Help
          cl_bsp_runtime=>construct_bsp_url(
            EXPORTING
               in_application      = l_application
               in_page             = zcl_es_bsp_elmnt_input_help_v2=>bsp_page
               in_parameters       = params
             IMPORTING
               out_local_url       = iframe_url ).

      This will read if the Supports Portal Integration flag is set in the current application. If so it will match up the same setting in the inner BSP application.

      (0) 
      1. Matthias Wendl
        Thanks, but I don’t know the values of the two constants bsp_application and bsp_application_portal.

        I assume bsp_application just holds the name of the bsp app used for displaying the value help (at least that’s what works for me) but I don’t know how the bsp_application_portal looks like?

        (0) 
        1. Thomas Jung Post author
          It is whatever you named the copy of the value help application (ZES_VALUEHELP -> ZES_VALUEHELP2) that has the “Supports Portal Integration” flag set.
          (0) 
  23. Matthias Wendl
    Hi,

    I’m experiencing a problem while using this bee.

    It works marvelous inside all my applications as long as I don’t have the “Supports Portal Integration” option checked.
    Checking this option leads to some javascript errors “permission denied” and “access denied” and I can’t close/hide the iframe any more, no matter whether I want to fill the inputfield or not.

    Can anyone please help?

    Thanks in advance
    Matthias

    (0) 
    1. Thomas Jung Post author
      I have the following solution in the latest version.  I tested it and it worked fine on my system/portal.

      I made copy of the BSP application that holds the Content for the Value Help: ZES_VALUEHELP -> ZES_VALUEHELP2. I set the Support Portal Integration flag on this application. 

      In the element handler class method DO_AT_BEGINNNING, near the logic that I used to construct the URL to the HELP application I changed it to the following logic:

      DATA: application TYPE string,
              page        TYPE REF TO if_bsp_page,
              sessionmanagemnt(1) TYPE c.
        page =  m_page_context->get_page( ).
        application = page->get_application_name( ).

        TRANSLATE application TO UPPER CASE.
        SELECT SINGLE sessionmanagemnt FROM o2appl INTO sessionmanagemnt
                WHERE applname = application
                  AND version  = ‘A’.
        DATA: l_application TYPE string.
        IF sessionmanagemnt is initial.
           l_application = zcl_es_bsp_elmnt_input_help_v2=>bsp_application.
        else.
           l_application = zcl_es_bsp_elmnt_input_help_v2=>bsp_application_portal.
        endif.

      ****Create the URL to our Input Help
          cl_bsp_runtime=>construct_bsp_url(
            EXPORTING
               in_application      = l_application
               in_page             = zcl_es_bsp_elmnt_input_help_v2=>bsp_page
               in_parameters       = params
             IMPORTING
               out_local_url       = iframe_url ).

      This will read if the Supports Portal Integration flag is set in the current application. If so it will match up the same setting in the inner BSP application.

      (0) 
      1. Matthias Wendl
        Thanks, but I don’t know the values of the two constants bsp_application and bsp_application_portal.

        I assume bsp_application just holds the name of the bsp app used for displaying the value help (at least that’s what works for me) but I don’t know how the bsp_application_portal looks like?

        (0) 
        1. Thomas Jung Post author
          It is whatever you named the copy of the value help application (ZES_VALUEHELP -> ZES_VALUEHELP2) that has the “Supports Portal Integration” flag set.
          (0) 
  24. Matthias Wendl
    Hi,

    I’m experiencing a problem while using this bee.

    It works marvelous inside all my applications as long as I don’t have the “Supports Portal Integration” option checked.
    Checking this option leads to some javascript errors “permission denied” and “access denied” and I can’t close/hide the iframe any more, no matter whether I want to fill the inputfield or not.

    Can anyone please help?

    Thanks in advance
    Matthias

    (0) 
    1. Thomas Jung Post author
      I have the following solution in the latest version.  I tested it and it worked fine on my system/portal.

      I made copy of the BSP application that holds the Content for the Value Help: ZES_VALUEHELP -> ZES_VALUEHELP2. I set the Support Portal Integration flag on this application. 

      In the element handler class method DO_AT_BEGINNNING, near the logic that I used to construct the URL to the HELP application I changed it to the following logic:

      DATA: application TYPE string,
              page        TYPE REF TO if_bsp_page,
              sessionmanagemnt(1) TYPE c.
        page =  m_page_context->get_page( ).
        application = page->get_application_name( ).

        TRANSLATE application TO UPPER CASE.
        SELECT SINGLE sessionmanagemnt FROM o2appl INTO sessionmanagemnt
                WHERE applname = application
                  AND version  = ‘A’.
        DATA: l_application TYPE string.
        IF sessionmanagemnt is initial.
           l_application = zcl_es_bsp_elmnt_input_help_v2=>bsp_application.
        else.
           l_application = zcl_es_bsp_elmnt_input_help_v2=>bsp_application_portal.
        endif.

      ****Create the URL to our Input Help
          cl_bsp_runtime=>construct_bsp_url(
            EXPORTING
               in_application      = l_application
               in_page             = zcl_es_bsp_elmnt_input_help_v2=>bsp_page
               in_parameters       = params
             IMPORTING
               out_local_url       = iframe_url ).

      This will read if the Supports Portal Integration flag is set in the current application. If so it will match up the same setting in the inner BSP application.

      (0) 
      1. Matthias Wendl
        Thanks, but I don’t know the values of the two constants bsp_application and bsp_application_portal.

        I assume bsp_application just holds the name of the bsp app used for displaying the value help (at least that’s what works for me) but I don’t know how the bsp_application_portal looks like?

        (0) 
        1. Thomas Jung Post author
          It is whatever you named the copy of the value help application (ZES_VALUEHELP -> ZES_VALUEHELP2) that has the “Supports Portal Integration” flag set.
          (0) 
  25. Kumud Singh
    Hi Thomas,
    I have created a search help for field userid using BSP extension.
    The issue is import imparameter of search help needs to be fields A,B,C and export parameters needs to be A,D,E.(not B and C). Search help works fine in SE11 but in BSP page all the parameters A,B,C,D,E are appearing as search criterias.

    Is there any way I can make BSP working similar way as SE11 search help?

    Thanks,

    Kumud

    (0) 
    1. Thomas Jung Post author
      >Is there any way I can make BSP working similar way as SE11 search help?

      The implementation I built simply isn’t designed for multiple imports or exports.  This would certainly be complicated becuase where would you take the values from/put them? It would require crossing multiple UI elements. Something like this is very difficult without some middle layer to connect the UI elements.  It is possible in Web Dynpro ABAP, for example, but only via the relationship of multiple attributes within the same context node.

      (0) 
      1. Kumud Singh
        Thanks Thomas for acknowledgement.
        It makes me feel great that questions asked get acknowledged so nicely.

        I am on the case and would update back with the final solution that I derived upon.

        Thanks,

        Regards,
        Kumud

        (0) 
      2. Kumud Singh
        Hey Thomas,

        I just did it. The trick was there was an intermediate BSP appln. getting called for F4 help. There if in the selection method (in my case a database view) only the key fields were appearing in search criterias. I did that and it works. However, all the parameters appear in the hitlist.

        Thanks,
        Kumud

        (0) 
  26. Kumud Singh
    Hi Thomas,
    I have created a search help for field userid using BSP extension.
    The issue is import imparameter of search help needs to be fields A,B,C and export parameters needs to be A,D,E.(not B and C). Search help works fine in SE11 but in BSP page all the parameters A,B,C,D,E are appearing as search criterias.

    Is there any way I can make BSP working similar way as SE11 search help?

    Thanks,

    Kumud

    (0) 
    1. Thomas Jung Post author
      >Is there any way I can make BSP working similar way as SE11 search help?

      The implementation I built simply isn’t designed for multiple imports or exports.  This would certainly be complicated becuase where would you take the values from/put them? It would require crossing multiple UI elements. Something like this is very difficult without some middle layer to connect the UI elements.  It is possible in Web Dynpro ABAP, for example, but only via the relationship of multiple attributes within the same context node.

      (0) 
      1. Kumud Singh
        Thanks Thomas for acknowledgement.
        It makes me feel great that questions asked get acknowledged so nicely.

        I am on the case and would update back with the final solution that I derived upon.

        Thanks,

        Regards,
        Kumud

        (0) 
      2. Kumud Singh
        Hey Thomas,

        I just did it. The trick was there was an intermediate BSP appln. getting called for F4 help. There if in the selection method (in my case a database view) only the key fields were appearing in search criterias. I did that and it works. However, all the parameters appear in the hitlist.

        Thanks,
        Kumud

        (0) 
  27. Kumud Singh
    Hi Thomas,
    I have created a search help for field userid using BSP extension.
    The issue is import imparameter of search help needs to be fields A,B,C and export parameters needs to be A,D,E.(not B and C). Search help works fine in SE11 but in BSP page all the parameters A,B,C,D,E are appearing as search criterias.

    Is there any way I can make BSP working similar way as SE11 search help?

    Thanks,

    Kumud

    (0) 
    1. Thomas Jung Post author
      >Is there any way I can make BSP working similar way as SE11 search help?

      The implementation I built simply isn’t designed for multiple imports or exports.  This would certainly be complicated becuase where would you take the values from/put them? It would require crossing multiple UI elements. Something like this is very difficult without some middle layer to connect the UI elements.  It is possible in Web Dynpro ABAP, for example, but only via the relationship of multiple attributes within the same context node.

      (0) 
      1. Kumud Singh
        Thanks Thomas for acknowledgement.
        It makes me feel great that questions asked get acknowledged so nicely.

        I am on the case and would update back with the final solution that I derived upon.

        Thanks,

        Regards,
        Kumud

        (0) 
      2. Kumud Singh
        Hey Thomas,

        I just did it. The trick was there was an intermediate BSP appln. getting called for F4 help. There if in the selection method (in my case a database view) only the key fields were appearing in search criterias. I did that and it works. However, all the parameters appear in the hitlist.

        Thanks,
        Kumud

        (0) 
  28. Kumud Singh
    Hi Thomas,
    Another question please:
    The BSP developed is with MVC architecture.
    There is a tableview iterator.
    Few inputfields are to be made with value help availabe in them.
    I am trying Java script to attain this functionality but am not able to proceed well.
    Can you please share your inputs.
    Can I attach search help with the field?

    Thanks,

    Kumud

    (0) 
    1. Thomas Jung Post author
      I’ve posted several revised editions of this value help solution over the years as SCN Blogs and the final version in the SAP Press book Advanced BSP Programming. I know that in one of those later versions, I made some corrections so that the value help from within a table cell was possible. I can’t remember what all changes I made (as that was probably more than 5 years ago), but I would suggest you look at one of the later blogs on this topic.
      (0) 
  29. Kumud Singh
    Hi Thomas,
    Another question please:
    The BSP developed is with MVC architecture.
    There is a tableview iterator.
    Few inputfields are to be made with value help availabe in them.
    I am trying Java script to attain this functionality but am not able to proceed well.
    Can you please share your inputs.
    Can I attach search help with the field?

    Thanks,

    Kumud

    (0) 
    1. Thomas Jung Post author
      I’ve posted several revised editions of this value help solution over the years as SCN Blogs and the final version in the SAP Press book Advanced BSP Programming. I know that in one of those later versions, I made some corrections so that the value help from within a table cell was possible. I can’t remember what all changes I made (as that was probably more than 5 years ago), but I would suggest you look at one of the later blogs on this topic.
      (0) 
  30. Kumud Singh
    Hi Thomas,
    Another question please:
    The BSP developed is with MVC architecture.
    There is a tableview iterator.
    Few inputfields are to be made with value help availabe in them.
    I am trying Java script to attain this functionality but am not able to proceed well.
    Can you please share your inputs.
    Can I attach search help with the field?

    Thanks,

    Kumud

    (0) 
    1. Thomas Jung Post author
      I’ve posted several revised editions of this value help solution over the years as SCN Blogs and the final version in the SAP Press book Advanced BSP Programming. I know that in one of those later versions, I made some corrections so that the value help from within a table cell was possible. I can’t remember what all changes I made (as that was probably more than 5 years ago), but I would suggest you look at one of the later blogs on this topic.
      (0) 

Leave a Reply