Skip to Content
0
Former Member
Dec 07, 2006 at 10:14 AM

Tableview problem

31 Views

Pls help me to solve this problem. I am giving all the pieces of code for your reference. Here am trying to call a popup from in the view find.htm as shown below:

<%@page language="abap" %>

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

<htmlb:content design="design2003" >

<htmlb:page title="Add Employee Details " >

<htmlb:form action="POST" >

Empid:

<htmlb:inputField id = "empid"

showHelp = "true"

value = "<%= empid %>"

onValueHelp = "javascript:window.open('emppop.do', '_blank', 'Emp Details','width=100,height=300');" />

</htmlb:form>

</htmlb:page>

</htmlb:content>

emppop.do is the controller and details are:

Controller- emppop.do

Controller class- <b>ZCL_12_POP</b>

METHOD DO_INIT.

SELECT * FROM Z12_EMP_PER INTO TABLE IT_EMP.

create object iterator.

ENDMETHOD.

METHOD DO_REQUEST.

DATA: POPVIEW TYPE REF TO IF_BSP_PAGE.

dispatch_input( ).

POPVIEW = CREATE_VIEW( VIEW_NAME = 'emppop.htm').

POPVIEW->set_attribute( name = 'it_emp' value = it_emp ).

CALL_VIEW( POPVIEW ).

ENDMETHOD.

METHOD DO_HANDLE_EVENT.

DATA: IND TYPE I.

DATA: TV TYPE REF TO CL_HTMLB_TABLEVIEW.

DATA: EVENT1 TYPE REF TO CL_HTMLB_EVENT.

EVENT1 = CL_HTMLB_MANAGER=>GET_EVENT( RUNTIME->SERVER->REQUEST ).

TV ?= CL_HTMLB_MANAGER=>GET_DATA(

REQUEST = RUNTIME->SERVER->REQUEST

NAME = 'tableView'

ID = 'pop' ).

IF TV IS NOT INITIAL.

DATA: TV_DATA TYPE REF TO CL_HTMLB_EVENT_TABLEVIEW.

TV_DATA = TV->DATA.

IF TV_DATA->PREVSELECTEDROWINDEX IS NOT INITIAL.

FIELD-SYMBOLS: <ROW> LIKE LINE OF IT_EMP.

READ TABLE IT_EMP INDEX TV_DATA->PREVSELECTEDROWINDEX ASSIGNING

<ROW>.

DATA VALUE TYPE STRING.

EMPID = <ROW>-EMPID.

ENDIF.

ENDIF.

ENDMETHOD.

method DO_HANDLE_DATA.

field-symbols: <field> type ihttpnvp.

read table form_fields with table key

name = 'empid' assigning <field>.

me->empid = <field>-value.

endmethod.

<b>Above controller calls this view:</b>

View: emppop.htm

<%@page language="abap" %>

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

<htmlb:content design="design2003" >

<htmlb:page title=" " >

<htmlb:form>

<%

data TV_ITERATOR Type Ref To zcl_12_iterator. "zcl_itr - Iterator Function

data iterator type ref to IF_HTMLB_TABLEVIEW_ITERATOR.

create object tv_iterator . "exporting appl_cons = application.

%>

<htmlb:tableView id = "pop"

width = "200"

headerVisible = "true"

design = "alternating"

visibleRowCount = "10"

fillUpEmptyRows = "true"

selectionMode = "SINGLESELECT"

showNoMatchText = "true"

filter = "server"

sort = "server"

onHeaderClick = "MyEventHeaderClick"

table = "<%= it_emp %>"

iterator = "<%= iterator %>" >

</htmlb:tableView>

</htmlb:form>

</htmlb:page>

</htmlb:content>

But when I click on the popup screen's <tableview> to select a record, am getting a script run time error like <b>'lookup' is null or not an object</b>.

Pls see the code and give me suggestions...

Thanks a lot.