Quantcast
Channel: SCN : All Content - Business Server Pages (BSP)
Viewing all articles
Browse latest Browse all 296

Search help in BSP not transferring value and closing the window

$
0
0

Hi,

 

I am trying to put search help for the vendor field in BSP. The window for the field is opening and based on the input in the fields in the window a table is being displayed, but when I select the row and press the button Ok, no action is being performed. A message is being showed as JAVASCRIPT:VOID(0); when I place the cursor on the button Ok. I am new to BSP, kindly need your help on this.


Below is the code in the layout:


<%@page language="abap"%>

<%@extension name="htmlb" prefix="htmlb"%>

<script  type="text/javascript">

function getData()

{

   opener.transf("<%= lv_lifnr %>");

   window.close();

   return true;

}

</script>

  <htmlb:content design="design2003">

   <htmlb:page title = "Search Help for vendor ">

     <htmlb:form>

 

       <htmlb:label for  = "ip_lifnr"

                    text = "Supplier: " />

       <htmlb:inputField id    = "ip_lifnr"

                         value = "<%= lv_lifnr%>"/>

 

       <htmlb:label for  = "ip_name"

                    text = "Name: " />

       <htmlb:inputField id    = "ip_name"

                         value = "<%= lv_name%>"/>

 

       <htmlb:button      text      = "Search"

                          id                = "search"

                          onClick        = "myClickHandler" />

 

        <br><br>

        <%

        IF not lt_vendor is initial.

        %>

         <htmlb:tableView id            = "tv_lifnr"

                        table                   = "<%= lt_vendor %>"

                        design                = "ALTERNATING"

                        onRowSelection  = "rowSelection"

                        selectionMode    = "SINGLESELECT"

                        keyColumn         = "LIFNR" >

 

          </htmlb:tableView>

          <br><br>

          <htmlb:button       text      = "Ok"

                                        id      = "ok"

                        onClientClick      = "getData()" />

        <%

        ENDIF.

        %>

     </htmlb:form>

   </htmlb:page>

</htmlb:content>

 

Below is the code in OnInput event

 

DATA: event       TYPE REF TO cl_htmlb_event,

       obj              TYPE REF TO cl_htmlb_inputfield,

       tv                TYPE REF TO cl_htmlb_tableview,

       table_event TYPE REF TO cl_htmlb_event_tableview,

       lso_lifnr   TYPE RANGE OF lifnr,

       lso_name    TYPE RANGE OF name1,

       lws_lifnr   LIKE LINE OF  lso_lifnr,

       lws_name    LIKE LINE OF  lso_name.

 

   obj ?= cl_htmlb_manager=>get_data(

                          request = runtime->server->request

                          name    = 'inputField'

                          id      = 'ip_lifnr' ).

IF obj IS BOUND.

   lv_lifnr = obj->value.

   IF NOT lv_lifnr IS INITIAL.

     lws_lifnr-sign   = 'I'.

     lws_lifnr-option = 'EQ'.

     lws_lifnr-low    = lv_lifnr.

     APPEND lws_lifnr TO lso_lifnr.

     CLEAR lws_lifnr.

     CLEAR obj.

   ENDIF.

ENDIF.

 

obj ?= cl_htmlb_manager=>get_data(

                        request = runtime->server->request

                        name    = 'inputField'

                        id      = 'ip_name' ).

IF obj IS BOUND.

   lv_name = obj->value.

   IF NOT lv_name IS INITIAL.

     lws_name-sign   = 'I'.

     lws_name-option = 'EQ'.

     lws_name-low    = lv_name.

     APPEND lws_name TO lso_name.

     CLEAR lws_name.

     CLEAR obj.

   ENDIF.

ENDIF.

 

event ?= cl_htmlb_manager=>get_event( runtime->server->request ).

IF event->id = 'search' or event->id = 'tv_lifnr'.

IF event->id = 'tv_lifnr'.

tv ?= cl_htmlb_manager=>get_data( request = runtime->server->request

                                       name    = 'tableView'

                                       id      = 'tv_lifnr' ).

 

   IF tv IS NOT INITIAL.

     table_event = tv->data.

     lv_lifnr = table_event->selectedrowkey.

   ENDIF.

   IF NOT lv_lifnr IS INITIAL.

     lws_lifnr-sign   = 'I'.

     lws_lifnr-option = 'EQ'.

     lws_lifnr-low    = lv_lifnr.

     APPEND lws_lifnr TO lso_lifnr.

     CLEAR lws_lifnr.

     CLEAR obj.

   ENDIF.

ENDIF.

 

   SELECT *

     FROM lfa1

     INTO CORRESPONDING FIELDS OF TABLE lt_vendor

    WHERE lifnr IN lso_lifnr

      AND name1 IN lso_name.

   IF sy-subrc = 0.

     SELECT *

       FROM zgss_catalog

       INTO TABLE lt_zgss_catalog

        FOR ALL ENTRIES IN lt_vendor

      WHERE vendor = lt_vendor-lifnr.

     IF sy-subrc <> 0.

       DELETE lt_vendor.

     ENDIF.

   ENDIF.

  ENDIF.


Viewing all articles
Browse latest Browse all 296

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>