Skip to Content
avatar image
Former Member

Looking for advice in implementing F4 capability

Hi folks,

I heard 'There are many ways to Rome'. I would love to get some idea on how to implement F4 in BSP.

I took a road, and there is a road block 😉 any idea would be appreciated. I was going to implement a F4 button, and then go to separate page for displaying the possible value and the user can select one of them and then return to the original page. Here's what I've done.

I created MVC application. in the view i have:

<htmlb:inputField id = "G_ERNAM"

showHelp = "X"

onValueHelp = "document.forms.myForm.submit();"

value = "//model/G_ERNAM" />

This will trigger an event so I can stop at my break-point at DO_HANDLE_EVENT. However, the htmlb_event is blank.

I know if I can somehow set the event accordingly, I can get this done.

So, do you know how to simulate a submit and setting up the event?

Thanks,

Iwan

Add comment
10|10000 characters needed characters exceeded

  • Follow
  • Get RSS Feed

1 Answer

  • Jun 30, 2004 at 08:56 PM

    If you want to use the HTMLB event transport system, then you will have to call HtmlbSubmit(..) function with the correct parameters. There is a call on CL_HTMLB_MANAGER=>RENDER_EVENT. We opened this call to use for other tag writers, and as such the call expects as input a tag. It will not work without it. But it should give you an idea of what the parameters do.

    If you want to do the F4, let my give the a guideline to the first three steps that you should consider. No, I have not implemented this, but it is the way I would have done it.

    (1) Develop the F4 system as a complete separate BSP application. Make it stateless.

    (2) The interface to the F4 application is only via URL parameters (to configure it), and if you need to transfer large data, then via server side cookies (maybe just passing the key via url). If you should use these server side cookie idea, make an API class with static members that accepts your parameters for the F4 help, and then does the writing onto cookie. (Search through this forum, some of this parts were discussed recently.)

    (3) The F4 help must always run as separate window. As you can only open the window on the browser, why not use this as jumping point to kick start the F4 help. So I would change the code as follows: onValueHelp = "myF4help(p1,p2,p3,etc);". So the user of the F4 help effectively gets a little (JS) API from you as well.

    (4) So you will need as well a myF4help.js file in which this function is declared. What the function will do is something such as window.open("/sap/...f4/default.htm", "parms to suppress nagivation bar, etc."). So with this the F4 help runs in a separate window.

    (5) When the F4 help is finished, it must return an answer. So you will call something such as "opener.pN(id,value)" and then "top.close()" to kill itself. Here opener is the original window that opened F4 help. pN is the name of a call-back function the user writes and passed to you initially.

    (6) Sell it for a lot of money.

    This is still a long way from finished, but I think for somebody skilled in the art, it should be easily within reach.

    ++bcm

    Add comment
    10|10000 characters needed characters exceeded