Tree In TableView Using Iterator

Can I creat a Tree in a TableView using Iterator( Which is implemented as a local class in a Model Class)

Hi Manish,
Your question is not that clear. Can you explain more?

Similar Messages

  • Checkbox  in a table loop - without using Tableview or Iterator.

    My client doesnt want to use tableview or iterator. We are using basic html to create the page. I know I can accomplish much easily using tableviews...but I am not allowed to use it.
    My requirement is simple. In my layout I loop at my internal table and display the contents. The last field is displayed as a checkbox.
    Ex:
    Name  status flag
    Tom  10         [ ]
    Ted    20        [X]
    Rob    10       [X]
    My loop in the Layout is as below:
    <%
      loop at t_rqdt into l_rqdt.
      if l_rqdt-flag = 'X'.
         l_chk = 'checked'.
      endif.
    %>
    <tr bgcolor="#EFEFEF">
    <td></td>
    <td <%= l_rqdt-name %> </td>
    <td <%= l_rqdt-status %></td>
    <td class=tdstatus width=40% >
    <input type=checkbox name="flag" value="flag" <%= l_chk %> > </td>
      </tr>
    <%
      endloop.
    %>
    When I select couple of rows and mark the flag field checkbox, and SUBMIT at the end, and when I see my internal table t_rqdt field r_rqdt-flag.. I dont see them having value X for the rows I marked the check boxes.
    Can anyone please help me how can I trap the checkboxes marked inside a table loop in my on input processing?
    Thanks
    PK

    Much Thanks Raja! It worked!!
    I declared as below for the form fields and was able to get values.
        DATA:  t_form_fields TYPE tihttpnvp.
        DATA:  l_form_fields TYPE LINE OF tihttpnvp.
        CALL METHOD request->get_form_fields
          CHANGING
            fields = t_form_fields.
    One more before my client asks me to do..
    if I place a button CheckALL and Uncheck All on the layout, how can we check/uncheck all the checkboxes on the client side. Any simple Javascript method available? I know I can pass the itab to on input processing and get the flags set, but if it can be achieved on the client side using a script that would help.
    Please let me know.
    Thanks.

  • Programatically retrieve data using iterator in oracle ADF Mobile

    I want to read programatically data using iterator in ADF mobile. My code is :
    try
    ValueExpression vex = AdfmfJavaUtilities.getValueExpression("#{bindings.WeatherDescriptionIterator}", Object.class);
    AmxIteratorBinding iter = (AmxIteratorBinding)vex.getValue(AdfmfJavaUtilities.getAdfELContext());
    GenericType row = null;
    BasicIterator bIter = iter.getIterator();
    iter.getIterator().first();
    ArrayList employees = new ArrayList();
    for(int i = 0; i < iter.getIterator().getTotalRowCount(); i++)
    row = (GenericType)iter.getCurrentRow();
    String phone = "";
    String email = "";
    if(row.getAttribute("Description") != null)
    phone = row.getAttribute("Description").toString();
    if(row.getAttribute("WeatherID") != null)
    email = row.getAttribute("WeatherID").toString();
    setTempValue(phone + " " + email);
    iter.getIterator().next();
    catch(Exception e1)
    AdfException ex = new AdfException(""+e1.getLocalizedMessage(), AdfException.ERROR );
    throw ex;
    I get error :-> cant not find property bindings
    Edited by: user12190920 on May 7, 2013 5:48 AM

    Hi,
    You can try the below code. Make sure the WeatherDescription should be of type Tree binding
    ValueExpression ve1 =
    AdfmfJavaUtilities.getValueExpression("#{bindings.departments.collectionModel}", AmxCollectionModel.class);
    AmxCollectionModel model = (AmxCollectionModel)ve1.getValue(AdfmfJavaUtilities.getAdfELContext());
    Object[] myArr = model.getKeys();
    for (int x = 0; x < myArr.length; x++) {
    Object myObj = myArr[x];
    Map provider = (Map)model.getProviders().get(myObj);
    String deptName = provider.get("deptName").toString();
    Hope this article may help you - http://deepakcs.blogspot.in/2013/02/adf-mobile-iterate-through-all-rows-in.html
    - Deepak

  • Advantages of using Iterator

    Please tell me what are the advantages of using Iterator?

    "roll your own" Iterator. Have your own classes return an Iterator. I had a confusing data structure in one class with ArrayList of ArrayLists or other objects ( with their own proprietary data structure). I didn't have the base class use loops and instanceof to find the way to traverse them. I had them all implement the Iterator interface. As the last writer said, it smplified the code a lot.

  • Error when working with TableView using JCA

    Hi sdns,
    I am getting an iview rutnime error when working with Tableview using JCA. Here i am putting all my code, go thorugh it and tell me if any error is there.One more thing is Usermappping and all properties are set to system object.
    Now you can throught he code which is followed by error also.
    <u>Java file.</u>
    public class DisplayComponent extends PageProcessorComponent {
         public DynPage getPage() {
              return new DisplayComponentDynPage();
         public static class DisplayComponentDynPage extends JSPDynPage {
              private JCATviewBean bean;
              public void doInitialization() {
                   IPortalComponentProfile profile =
                        ((IPortalComponentRequest) getRequest())
                             .getComponentContext()
                             .getProfile();
                   Object o = profile.getValue("myBean");
                   if (o == null || !(o instanceof JCATviewBean)) {
                        bean = new JCATviewBean();
                        profile.putValue("myBean", bean);
                   } else {
                        bean = (JCATviewBean) o;
                   // fill your bean with data here...
                   IPortalComponentRequest request =
                        (IPortalComponentRequest) this.getRequest();
                   doJca(request);
              public void doProcessAfterInput() throws PageException {
              public void doProcessBeforeOutput() throws PageException {
                   this.setJspName("Report.jsp");
              private IConnection getConnection(
                   IPortalComponentRequest request,
                   String alias)
                   throws Exception {
                   IConnectorGatewayService cgService =
                        (IConnectorGatewayService) PortalRuntime
                             .getRuntimeResources()
                             .getService(
                             IConnectorService.KEY);
                   ConnectionProperties prop =
                        new ConnectionProperties(
                             request.getLocale(),
                             request.getUser());
                   return cgService.getConnection(alias, prop);
              public void doJca(IPortalComponentRequest request) {
                   IConnectionFactory connectionFactory = null;
                   IConnection client = null;
                   String rfm_name = "BAPI_COMPANYCODE_GETLIST";
                   try {
                        try {
                             //       pass the request & system alias
                             //       Change the alias to whatever the alias is for your R/3 system
                             client = getConnection(request, "MyIDES");
                        } catch (Exception e) {
                             System.out.println(
                                  "Couldn't establish a connection with a target system.");
                             return;
    Start Interaction
                        IInteraction interaction = client.createInteractionEx();
                        IInteractionSpec interactionSpec =
                             interaction.getInteractionSpec();
                        interactionSpec.setPropertyValue("Name", rfm_name);
    CCI api only has one datatype: Record
                        RecordFactory recordFactory = interaction.getRecordFactory();
                        MappedRecord importParams =
                             recordFactory.createMappedRecord(
                                  "CONTAINER_OF_IMPORT_PARAMS");
                        IFunctionsMetaData functionsMetaData =
                             client.getFunctionsMetaData();
                        IFunction function = functionsMetaData.getFunction(rfm_name);
                        if (function == null) {
                             System.out.println(
                                  "Couldn't find " + rfm_name + " in a target system.");
                             return;
    How to invoke Function modules
                        System.out.println("Invoking... " + function.getName());
                        MappedRecord exportParams =
                             (MappedRecord) interaction.execute(
                                  interactionSpec,
                                  importParams);
    How to get structure values
                        IRecord exportStructure = (IRecord) exportParams.get("RETURN");
                        String columnOne = exportStructure.getString("TYPE");
                        String columnTwo = exportStructure.getString("CODE");
                        String columnThree = exportStructure.getString("MESSAGE");
                        System.out.println("  RETURN-TYPE    = " + columnOne);
                        System.out.println("  RETURN-CODE    = " + columnTwo);
                        System.out.println("  RETURN-MESSAGE =" + columnThree);
    How to get table values
                        IRecordSet exportTable =
                             (IRecordSet) exportParams.get("COMPANYCODE_LIST");
                        exportTable.beforeFirst();
                        // Moves the cursor before the first row.
                        while (exportTable.next()) {
                             String column_1 = exportTable.getString("COMP_CODE");
                             String column_2 = exportTable.getString("COMP_NAME");
                             System.out.println(
                                  "  COMPANYCODE_LIST-COMP_CODE = " + column_1);
                             System.out.println(
                                  "  COMPANYCODE_LIST-COMP_NAME = " + column_2);
                        //       create the tableview mode in the bean
                        bean.createData(exportTable);
    Closing the connection
                        client.close();
                   } catch (ConnectorException e) {
                        //       app.putValue("error", e);
                        System.out.println("Caught an exception: \n" + e);
                   } catch (Exception e) {
                        System.out.println("Caught an exception: \n" + e);
    <u>Bena file</u>
    package com.sap.JCA.bean;
    import java.util.Vector;
    import com.sapportals.connector.execution.structures.IRecordSet;
    import com.sapportals.htmlb.table.DefaultTableViewModel;
    import com.sapportals.htmlb.table.TableViewModel;
    public class JCATviewBean {
         public DefaultTableViewModel model;
         public TableViewModel getModel() {
         return this.model;
         public void setModel(DefaultTableViewModel model) {
         this.model = model;
         public void createData(IRecordSet table) {
    //       this is your column names
         Vector column = new Vector();
         column.addElement("Company Code");
         column.addElement("Company Name");
    //       all this logic is for the data part.
         Vector rVector = new Vector();
         try {
         table.beforeFirst();
         while (table.next()) {
         Vector data = new Vector();
         data.addElement(table.getString("COMP_CODE"));
         data.addElement(table.getString("COMP_NAME"));
         rVector.addElement(data);
         } catch (Exception e) {
         e.printStackTrace();
    //       this is where you create the model
         this.setModel(new DefaultTableViewModel(rVector, column));
    <b>JSP File:</b>
    <%@ taglib uri="tagLib" prefix="hbj" %>
    <jsp:useBean id="myBean" scope="application" class="com.sap.JCA.bean.JCATviewBean" />
    <hbj:content id="myContext" >
      <hbj:page title="PageTitle">
       <hbj:form id="myFormId" >
       <br>
       <hbj:textView id = "tv1" text = "<b>TableView Example Using JCA</b> <br>"/>
    <hbj:tableView
        id="myTableView1"
        model="myBean.model"
        design="ALTERNATING"
        headerVisible="true"
        footerVisible="true"
        fillUpEmptyRows="true"
        navigationMode="BYLINE"
        selectionMode="MULTISELECT"
        headerText="TableView example1"
        visibleFirstRow="1"
        visibleRowCount="30"
        width="500 px"
        />
       </hbj:form>
      </hbj:page>
    </hbj:content>
    <b>Error when Executing this component:</b><u></u>
      Portal Runtime Error
    <b>An exception occurred while processing a request for :
    iView : N/A
    Component Name : N/A
    com/sapportals/portal/htmlb/page/PageProcessorComponent.
    Exception id: 12:21_28/10/05_0173_94105150
    See the details for the exception ID in the log file</b>  
    If anybody find the error please reply to this post.
    Regards,
    sireesha.

    Thanks for your response Martin,
    I have already seen the log file but im couldn't findout anything from that since it is so long here im putting some part of please see this.if u able to find it clarify me,
    <b>Here the log file:</b>
    1.5#001321FD6213005D0000907100001CB000040419258FBF4E#1130405957843#trexr3.com.sapmarkets.isa.services.schedulerservice.persistence.jdo.DataBaseJobStore#sap.com/crm.trexr3#trexr3.com.sapmarkets.isa.services.schedulerservice.persistence.jdo.DataBaseJobStore#J2EE_ADMIN#530##obtdev3_O09_94105150#Guest#8a2bbd20444711da932c001321fd6213#Thread[SchedulerThread,5,SAPEngine_Application_Thread[impl:3]_Group]##0#0#Info#1#/System/Scheduler/JobStore#Plain###With in the acquireLockForNextAvailableJob DataStore#
    #1.5#001321FD6213005D0000907200001CB00004041925916735#1130405957953#trexr3.com.sapmarkets.isa.services.schedulerservice.SchedulerThread#sap.com/crm.trexr3#trexr3.com.sapmarkets.isa.services.schedulerservice.SchedulerThread#J2EE_ADMIN#530##obtdev3_O09_94105150#Guest#8a2bbd20444711da932c001321fd6213#Thread[SchedulerThread,5,SAPEngine_Application_Thread[impl:3]_Group]##0#0#Info#1#/System/Scheduler#Plain###Acquired the job null#
    #1.5#001321FD6213005D0000907300001CB0000404192591688D#1130405957953#trexr3.com.sapmarkets.isa.services.schedulerservice.SchedulerThread#sap.com/crm.trexr3#trexr3.com.sapmarkets.isa.services.schedulerservice.SchedulerThread#J2EE_ADMIN#530##obtdev3_O09_94105150#Guest#8a2bbd20444711da932c001321fd6213#Thread[SchedulerThread,5,SAPEngine_Application_Thread[impl:3]_Group]##0#0#Info#1#/System/Scheduler#Plain###Did not find any job.So, Waiting for sometime for the next job#
    #1.5#001321FD621300650000120E00001CB00004041925C953D7#1130405961625#com.sap.aii.af.sample.adapter.ra.SPIManagedConnectionFactory##com.sap.aii.af.sample.adapter.ra.SPIManagedConnectionFactory.XIManagedConnectionFactoryController.run()######04d7f690469311da8d52001321fd6213#Thread[Thread-114,5,SAPEngine_System_Thread[impl:5]_Group]##0#0#Debug#1#/Applications/ExchangeInfrastructure/AdapterFramework/ThirdPartyRoot/comsap/Server/Adapter Framework#Java###MCF with GUID is running. (,)#3#964bfca0444711dabb51001321fd6213#com.sap.engine.services.deploy.server.ApplicationLoader@1586c77#964bfca0444711dabb51001321fd6213#
    #1.5#001321FD6213005D0000907400001CB000040419275B24FC#1130405987953#trexr3.com.sapmarkets.isa.services.schedulerservice.SchedulerThread#sap.com/crm.trexr3#trexr3.com.sapmarkets.isa.services.schedulerservice.SchedulerThread#J2EE_ADMIN#530##obtdev3_O09_94105150#Guest#8a2bbd20444711da932c001321fd6213#Thread[SchedulerThread,5,SAPEngine_Application_Thread[impl:3]_Group]##0#0#Info#1#/System/Scheduler#Plain###within the infinite of the Scheduler Thread#
    #1.5#001321FD6213005D0000907500001CB000040419275B25D9#1130405987953#trexr3.com.sapmarkets.isa.services.schedulerservice.persistence.jdo.DataBaseJobStore#sap.com/crm.trexr3#trexr3.com.sapmarkets.isa.services.schedulerservice.persistence.jdo.DataBaseJobStore#J2EE_ADMIN#530##obtdev3_O09_94105150#Guest#8a2bbd20444711da932c001321fd6213#Thread[SchedulerThread,5,SAPEngine_Application_Thread[impl:3]_Group]##0#0#Info#1#/System/Scheduler/JobStore#Plain###With in the acquireLockForNextAvailableJob DataStore#
    #1.5#001321FD6213005D0000907600001CB000040419275B2E27#1130405987953#trexr3.com.sapmarkets.isa.services.schedulerservice.SchedulerThread#sap.com/crm.trexr3#trexr3.com.sapmarkets.isa.services.schedulerservice.SchedulerThread#J2EE_ADMIN#530##obtdev3_O09_94105150#Guest#8a2bbd20444711da932c001321fd6213#Thread[SchedulerThread,5,SAPEngine_Application_Thread[impl:3]_Group]##0#0#Info#1#/System/Scheduler#Plain###Acquired the job null#
    #1.5#001321FD6213005D0000907700001CB000040419275B2EFA#1130405987953#trexr3.com.sapmarkets.isa.services.schedulerservice.SchedulerThread#sap.com/crm.trexr3#trexr3.com.sapmarkets.isa.services.schedulerservice.SchedulerThread#J2EE_ADMIN#530##obtdev3_O09_94105150#Guest#8a2bbd20444711da932c001321fd6213#Thread[SchedulerThread,5,SAPEngine_Application_Thread[impl:3]_Group]##0#0#Info#1#/System/Scheduler#Plain###Did not find any job.So, Waiting for sometime for the next job#
    #1.5#001321FD6213005D0000907800001CB0000404192924ED59#1130406017953#trexr3.com.sapmarkets.isa.services.schedulerservice.SchedulerThread#sap.com/crm.trexr3#trexr3.com.sapmarkets.isa.services.schedulerservice.SchedulerThread#J2EE_ADMIN#530##obtdev3_O09_94105150#Guest#8a2bbd20444711da932c001321fd6213#Thread[SchedulerThread,5,SAPEngine_Application_Thread[impl:3]_Group]##0#0#Info#1#/System/Scheduler#Plain###within the infinite of the Scheduler Thread#
    #1.5#001321FD6213005D0000907900001CB0000404192924EE36#1130406017953#trexr3.com.sapmarkets.isa.services.schedulerservice.persistence.jdo.DataBaseJobStore#sap.com/crm.trexr3#trexr3.com.sapmarkets.isa.services.schedulerservice.persistence.jdo.DataBaseJobStore#J2EE_ADMIN#530##obtdev3_O09_94105150#Guest#8a2bbd20444711da932c001321fd6213#Thread[SchedulerThread,5,SAPEngine_Application_Thread[impl:3]_Group]##0#0#Info#1#/System/Scheduler/JobStore#Plain###With in the acquireLockForNextAvailableJob DataStore#
    #1.5#001321FD6213005D0000907A00001CB0000404192924F652#1130406017953#trexr3.com.sapmarkets.isa.services.schedulerservice.SchedulerThread#sap.com/crm.trexr3#trexr3.com.sapmarkets.isa.services.schedulerservice.SchedulerThread#J2EE_ADMIN#530##obtdev3_O09_94105150#Guest#8a2bbd20444711da932c001321fd6213#Thread[SchedulerThread,5,SAPEngine_Application_Thread[impl:3]_Group]##0#0#Info#1#/System/Scheduler#Plain###Acquired the job null#
    #1.5#001321FD6213005D0000907B00001CB0000404192924F710#1130406017953#trexr3.com.sapmarkets.isa.services.schedulerservice.SchedulerThread#sap.com/crm.trexr3#trexr3.com.sapmarkets.isa.services.schedulerservice.SchedulerThread#J2EE_ADMIN#530##obtdev3_O09_94105150#Guest#8a2bbd20444711da932c001321fd6213#Thread[SchedulerThread,5,SAPEngine_Application_Thread[impl:3]_Group]##0#0#Info#1#/System/Scheduler#Plain###Did not find any job.So, Waiting for sometime for the next job#
    #1.5#001321FD621300650000120F00001CB000040419295CCD8B#1130406021625#com.sap.aii.af.sample.adapter.ra.SPIManagedConnectionFactory##com.sap.aii.af.sample.adapter.ra.SPIManagedConnectionFactory.XIManagedConnectionFactoryController.run()######04d7f690469311da8d52001321fd6213#Thread[Thread-114,5,SAPEngine_System_Thread[impl:5]_Group]##0#0#Debug#1#/Applications/ExchangeInfrastructure/AdapterFramework/ThirdPartyRoot/comsap/Server/Adapter Framework#Java###MCF with GUID is running. (,)#3#964bfca0444711dabb51001321fd6213#com.sap.engine.services.deploy.server.ApplicationLoader@1586c77#964bfca0444711dabb51001321fd6213#
    #1.5#001321FD6213005D0000907C00001CB0000404192AEEB1E2#1130406047953#trexr3.com.sapmarkets.isa.services.schedulerservice.SchedulerThread#sap.com/crm.trexr3#trexr3.com.sapmarkets.isa.services.schedulerservice.SchedulerThread#J2EE_ADMIN#530##obtdev3_O09_94105150#Guest#8a2bbd20444711da932c001321fd6213#Thread[SchedulerThread,5,SAPEngine_Application_Thread[impl:3]_Group]##0#0#Info#1#/System/Scheduler#Plain###within the infinite of the Scheduler Thread#
    #1.5#001321FD6213005D0000907D00001CB0000404192AEEB2C0#1130406047953#trexr3.com.sapmarkets.isa.services.schedulerservice.persistence.jdo.DataBaseJobStore#sap.com/crm.trexr3#trexr3.com.sapmarkets.isa.services.schedulerservice.persistence.jdo.DataBaseJobStore#J2EE_ADMIN#530##obtdev3_O09_94105150#Guest#8a2bbd20444711da932c001321fd6213#Thread[SchedulerThread,5,SAPEngine_Application_Thread[impl:3]_Group]##0#0#Info#1#/System/Scheduler/JobStore#Plain###With in the acquireLockForNextAvailableJob DataStore#
    #1.5#001321FD6213005D0000907E00001CB0000404192AEEBAD8#1130406047968#trexr3.com.sapmarkets.isa.services.schedulerservice.SchedulerThread#sap.com/crm.trexr3#trexr3.com.sapmarkets.isa.services.schedulerservice.SchedulerThread#J2EE_ADMIN#530##obtdev3_O09_94105150#Guest#8a2bbd20444711da932c001321fd6213#Thread[SchedulerThread,5,SAPEngine_Application_Thread[impl:3]_Group]##0#0#Info#1#/System/Scheduler#Plain###Acquired the job null#
    #1.5#001321FD6213005D0000907F00001CB0000404192AEEBB9E#1130406047968#trexr3.com.sapmarkets.isa.services.schedulerservice.SchedulerThread#sap.com/crm.trexr3#trexr3.com.sapmarkets.isa.services.schedulerservice.SchedulerThread#J2EE_ADMIN#530##obtdev3_O09_94105150#Guest#8a2bbd20444711da932c001321fd6213#Thread[SchedulerThread,5,SAPEngine_Application_Thread[impl:3]_Group]##0#0#Info#1#/System/Scheduler#Plain###Did not find any job.So, Waiting for sometime for the next job#

  • How to add rows in tableview using javascipt

    Hi
    I had tableview and button in my page.If i click on the button one new row should be appended to the existing tableview.
    so , how to add rows in tableview using javascipt which are editable?
    Regards,
    Pydi.

    Hi,
      Javascript is client scripting language, which is mainly used for validations at the client side.
      To add new row using a HTMLB tag ucannot use javascript. Instead pass "visibleRowCount" variable to a abap variable and add the variable on every button click.. that wil increase the visible row count.
    Also the size of the table view is the size of the itnernal table, so append a blank like to the internal table or insert it at the top.
    If you are not using HTMLB tags and using simple HTML tags u can always add a row using java script.
    Regards
    Imran.

  • How to hide a column (clnt) in tableview using MVC?

    Hy,
    I would like, please if you cand help me: how to hide a column (clnt) in tableview using MVC for example on sflight table.
    Thanks

    Hi,
    You can use the below logic
    <htmlb:tableView id = "t1"
               visibleRowCount = "10"
               table = "<%= flights %>">
         <htmlb:tableViewColumns>
              <htmlb:tableViewColumn columnNamd = "carrid" />
              <htmlb:tableViewColumn columnNamd = "connid" />
              <htmlb:tableViewColumn columnNamd = "fldate" />
         </htmlb:tableViewColumns>
    </htmlb:tableView>
    define all the required columns using tableViewColumn tag.
    Regards,
    Ravi

  • ALV Tree Report without using ABAP Objects

    Hi all,
    I want to know the name of a function module to create ALV Tree in SE38 as a report. I am required to create this ALV Tree Report without using ABAP OBJECTS. Can u pls help me as early as possible.

    Hi
    see this link
    http://www.sapdev.co.uk/reporting/alv/alvtree.htm
    *& Report  ZBCALV_TREE
    REPORT  ZBCALV_TREE.
    class cl_gui_column_tree definition load.
    class cl_gui_cfw definition load.
    data tree1  type ref to cl_gui_alv_tree.
    data mr_toolbar type ref to cl_gui_toolbar.
    include <icon>.
    include bcalv_toolbar_event_receiver.
    include bcalv_tree_event_receiver.
    data: toolbar_event_receiver type ref to lcl_toolbar_event_receiver.
    data: gt_VBAK  type VBAK occurs 0,      "Output-Table
          gt_fieldcatalog type lvc_t_fcat, "Fieldcatalog
          ok_code like sy-ucomm.           "OK-Code
    start-of-selection.
    end-of-selection.
      call screen 100.
    *&      Module  STATUS_0100  OUTPUT
          text
    module STATUS_0100 output.
      SET PF-STATUS 'MAIN'.
    if tree1 is initial.
        perform Zinit_tree.
      endif.
      call method cl_gui_cfw=>flush.
    endmodule.                 " STATUS_0100  OUTPUT
    *&      Form  Zinit_tree
          text
    -->  p1        text
    <--  p2        text
    form Zinit_tree .
    perform Zbuild_fieldcatalog.
    create container for alv-tree
    data: l_tree_container_name(30) type c,
            l_custom_container type ref to cl_gui_custom_container.
      l_tree_container_name = 'TREE1'.
    if sy-batch is initial.
        create object l_custom_container
          exporting
                container_name = l_tree_container_name
          exceptions
                cntl_error                  = 1
                cntl_system_error           = 2
                create_error                = 3
                lifetime_error              = 4
                lifetime_dynpro_dynpro_link = 5.
        if sy-subrc <> 0.
          message x208(00) with 'ERROR'.                        "#EC NOTEXT
        endif.
      endif.
    create tree control
      create object tree1
        exporting
            parent              = l_custom_container
            node_selection_mode = cl_gui_column_tree=>node_sel_mode_single
            item_selection      = 'X'
            no_html_header      = ''
            no_toolbar          = ''
        exceptions
            cntl_error                   = 1
            cntl_system_error            = 2
            create_error                 = 3
            lifetime_error               = 4
            illegal_node_selection_mode  = 5
            failed                       = 6
            illegal_column_name          = 7.
      if sy-subrc <> 0.
        message x208(00) with 'ERROR'.                          "#EC NOTEXT
      endif.
    create Hierarchy-header
      data l_hierarchy_header type treev_hhdr.
      perform zbuild_hierarchy_header changing l_hierarchy_header.
    create info-table for html-header
      data: lt_list_commentary type slis_t_listheader,
            l_logo             type sdydo_value.
      perform Zbuild_comment using
                     lt_list_commentary
                     l_logo.
    repid for saving variants
      data: ls_variant type disvariant.
      ls_variant-report = sy-repid.
    create emty tree-control
      call method tree1->set_table_for_first_display
        exporting
          is_hierarchy_header = l_hierarchy_header
          it_list_commentary  = lt_list_commentary
          i_logo              = l_logo
          i_background_id     = 'ALV_BACKGROUND'
          i_save              = 'A'
          is_variant          = ls_variant
        changing
          it_outtab           = gt_VBAK "table must be emty !!
          it_fieldcatalog     = gt_fieldcatalog.
    create hierarchy
      perform Zcreate_hierarchy.
    add own functioncodes to the toolbar
      perform zchange_toolbar.
    register events
      perform zregister_events.
    endform.                    " Zinit_tree
    *&      Form  Zbuild_fieldcatalog
          text
    -->  p1        text
    <--  p2        text
    form Zbuild_fieldcatalog .
    get fieldcatalog
      call function 'LVC_FIELDCATALOG_MERGE'
        exporting
          i_structure_name = 'VBAK'
        changing
          ct_fieldcat      = gt_fieldcatalog.
      sort gt_fieldcatalog by scrtext_l.
    change fieldcatalog
      data: ls_fieldcatalog type lvc_s_fcat.
      loop at gt_fieldcatalog into ls_fieldcatalog.
        case ls_fieldcatalog-fieldname.
          when 'AUART' .
            ls_fieldcatalog-no_out = 'X'.
            ls_fieldcatalog-key    = ''.
        endcase.
        modify gt_fieldcatalog from ls_fieldcatalog.
      endloop.
    endform.                    " Zbuild_fieldcatalog
    *&      Form  zbuild_hierarchy_header
          text
         <--P_L_HIERARCHY_HEADER  text
    form zbuild_hierarchy_header changing
                                   p_hierarchy_header type treev_hhdr.
      p_hierarchy_header-heading = 'Hierarchy Header'.          "#EC NOTEXT
      p_hierarchy_header-tooltip =
                             'This is the Hierarchy Header !'.  "#EC NOTEXT
      p_hierarchy_header-width = 30.
      p_hierarchy_header-width_pix = ''.
    endform.                    " zbuild_hierarchy_header
    *&      Form  Zbuild_comment
          text
         -->P_LT_LIST_COMMENTARY  text
         -->P_L_LOGO  text
    form Zbuild_comment   using
                           pt_list_commentary type slis_t_listheader
                           p_logo             type sdydo_value.
    data: ls_line type slis_listheader.
    LIST HEADING LINE: TYPE H
      clear ls_line.
      ls_line-typ  = 'H'.
    LS_LINE-KEY:  NOT USED FOR THIS TYPE
      ls_line-info = 'ALV-tree-demo: flight-overview'.          "#EC NOTEXT
      append ls_line to pt_list_commentary.
    STATUS LINE: TYPE S
      clear ls_line.
      ls_line-typ  = 'S'.
      ls_line-key  = 'valid until'.                             "#EC NOTEXT
      ls_line-info = 'January 29 1999'.                         "#EC NOTEXT
      append ls_line to pt_list_commentary.
      ls_line-key  = 'time'.
      ls_line-info = '2.00 pm'.                                 "#EC NOTEXT
      append ls_line to pt_list_commentary.
    ACTION LINE: TYPE A
      clear ls_line.
      ls_line-typ  = 'A'.
    LS_LINE-KEY:  NOT USED FOR THIS TYPE
      ls_line-info = 'actual data'.                             "#EC NOTEXT
      append ls_line to pt_list_commentary.
      p_logo = 'ENJOYSAP_LOGO'.
    endform.                    " Zbuild_comment
    *&      Form  Zcreate_hierarchy
          text
    -->  p1        text
    <--  p2        text
    form Zcreate_hierarchy .
    data: ls_vbak type vbak,
          lt_vbak  type vbak occurs 0.
    get data
      select * from vbak into table lt_vbak
                            up to 200 rows .                "#EC CI_NOWHERE
      sort lt_vbak by AUART.
    add data to tree
      data: l_AUART_key type lvc_nkey.
    loop at lt_vbak into ls_vbak.
        on change of ls_vbak-AUART.
          perform Zadd_AUART_line using   ls_vbak
                                  changing l_AUART_key.
        endon.
      endloop.
    calculate totals
      call method tree1->update_calculations.
    this method must be called to send the data to the frontend
      call method tree1->frontend_update.
    endform.                    " Zcreate_hierarchy
    *&      Form  Zadd_AUART_line
          text
         -->P_LS_vbak  text
         -->P_0379   text
         <--P_L_AUART_KEY  text
    form Zadd_AUART_line  using    p_ls_vbak type vbak
                                   p_relat_key type lvc_nkey
                         changing  p_node_key type lvc_nkey.
      data: l_node_text type lvc_value,
            ls_vbak type vbak.
    set item-layout
      data: lt_item_layout type lvc_t_layi,
            ls_item_layout type lvc_s_layi.
      ls_item_layout-t_image = '@3P@'.
      ls_item_layout-fieldname = tree1->c_hierarchy_column_name.
      ls_item_layout-style   =
                            cl_gui_column_tree=>style_intensifd_critical.
      append ls_item_layout to lt_item_layout.
    add node
      l_node_text =  p_ls_vbak-AUART.
      data: ls_node type lvc_s_layn.
      ls_node-n_image   = space.
      ls_node-exp_image = space.
      call method tree1->add_node
        exporting
          i_relat_node_key = p_relat_key
          i_relationship   = cl_gui_column_tree=>relat_last_child
          i_node_text      = l_node_text
          is_outtab_line   = ls_vbak
          is_node_layout   = ls_node
          it_item_layout   = lt_item_layout
        importing
          e_new_node_key   = p_node_key .
    endform.                    " Zadd_AUART_line
    *&      Form  zchange_toolbar
          text
    -->  p1        text
    <--  p2        text
    form zchange_toolbar .
    get toolbar control
      call method tree1->get_toolbar_object
        importing
          er_toolbar = mr_toolbar.
      check not mr_toolbar is initial.
    add seperator to toolbar
      call method mr_toolbar->add_button
        exporting
          fcode     = ''
          icon      = ''
          butn_type = cntb_btype_sep
          text      = ''
          quickinfo = 'This is a Seperator'.                    "#EC NOTEXT
    add Standard Button to toolbar (for Delete Subtree)
      call method mr_toolbar->add_button
        exporting
          fcode     = 'DELETE'
          icon      = '@18@'
          butn_type = cntb_btype_button
          text      = ''
          quickinfo = 'Delete subtree'.                         "#EC NOTEXT
    add Dropdown Button to toolbar (for Insert Line)
      call method mr_toolbar->add_button
        exporting
          fcode     = 'INSERT_LC'
          icon      = '@17@'
          butn_type = cntb_btype_dropdown
          text      = ''
          quickinfo = 'Insert Line'.                            "#EC NOTEXT
    set event-handler for toolbar-control
      create object toolbar_event_receiver.
      set handler toolbar_event_receiver->on_function_selected
                                                          for mr_toolbar.
      set handler toolbar_event_receiver->on_toolbar_dropdown
                                                          for mr_toolbar.
    endform.                    " zchange_toolbar
    *&      Form  zregister_events
          text
    -->  p1        text
    <--  p2        text
    form zregister_events .
    define the events which will be passed to the backend
      data: lt_events type cntl_simple_events,
              l_event type cntl_simple_event.
    define the events which will be passed to the backend
      l_event-eventid = cl_gui_column_tree=>eventid_expand_no_children.
      append l_event to lt_events.
      l_event-eventid = cl_gui_column_tree=>eventid_checkbox_change.
      append l_event to lt_events.
      l_event-eventid = cl_gui_column_tree=>eventid_header_context_men_req.
      append l_event to lt_events.
      l_event-eventid = cl_gui_column_tree=>eventid_node_context_menu_req.
      append l_event to lt_events.
      l_event-eventid = cl_gui_column_tree=>eventid_item_context_menu_req.
      append l_event to lt_events.
      l_event-eventid = cl_gui_column_tree=>eventid_header_click.
      append l_event to lt_events.
      l_event-eventid = cl_gui_column_tree=>eventid_item_keypress.
      append l_event to lt_events.
      call method tree1->set_registered_events
        exporting
          events                    = lt_events
        exceptions
          cntl_error                = 1
          cntl_system_error         = 2
          illegal_event_combination = 3.
      if sy-subrc <> 0.
        message x208(00) with 'ERROR'.                          "#EC NOTEXT
      endif.
    set Handler
      data: l_event_receiver type ref to lcl_tree_event_receiver.
      create object l_event_receiver.
      set handler l_event_receiver->handle_node_ctmenu_request
                                                            for tree1.
      set handler l_event_receiver->handle_node_ctmenu_selected
                                                            for tree1.
      set handler l_event_receiver->handle_item_ctmenu_request
                                                            for tree1.
      set handler l_event_receiver->handle_item_ctmenu_selected
                                                            for tree1.
    endform.                    " zregister_events
    *&      Module  USER_COMMAND_0100  INPUT
          text
    module USER_COMMAND_0100 input.
    ok_code  = sy-ucomm.
    clear sy-ucomm.
    case ok_code.
        when 'EXIT' or 'BACK' or 'CANC'.
          perform Zexit_program.
        when others.
          call method cl_gui_cfw=>dispatch.
      endcase.
      clear ok_code.
      call method cl_gui_cfw=>flush.
    endmodule.                 " USER_COMMAND_0100  INPUT
    *&      Form  Zexit_program
          text
    -->  p1        text
    <--  p2        text
    form Zexit_program .
      call method tree1->free.
      leave program.
    endform.                    " Zexit_program
    <b>Reward if usefull</b>

  • ClassCastException with JDK7U5 while using Iterator.

    Hi All,
    While i am trying to iterate through a raw Collection (without generics) which contains my business objects using Iterator. It is throwing ClassCastException when i am casting the Iterator's next value with expected object.
    but when i replace Iterator with for(int i=0; i<collection.size();i++) loop its working fine and i am able to iterate the collection without any exception and i am able to cast my object with expected class type.
    I am not sure why this is happening with JDK1.7u5 while the same code(with iterator) works fine in JDK1.6u31.
    Please suggest me the solution or workaround for the same.
    Thanks .

    show your code.

  • In OS 10.7.5, how do I get a listing of folders similar to the "directory tree" that I used to have when I was suffering through MS-DOS?

    In OS 10.7.5, how do I get a listing of folders similar to the "directory tree" that I used to have when I was suffering through MS-DOS?

    I'm not quite sure what it is you are looking for, but there are a three different ways to view the files and folder in a directory in Finder - Icon view, List view, or Column view - or you can use Terminal and use the various options for the ls UNIX command for listing a directory. For those options, see:
    https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/ man1/ls.1.html
    Hope this helps.
    Regards.

  • How to use Iterator for SOAPBody

    The following is the content of my SOAPBody how do i use Iterator to get the output like :
    Name 1 : Price 1
    Name 2 : Price 2
    Name 3 : Price 3
    Name 4 : Price 4
    Name 5 : Price 5
    <SOAP-ENV:Envelope mlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Header/>
    <SOAP-ENV:Body>
         <items>
              <item>
                   <name>Name 1</name>
                   <price>Price 1</price>
              </item>
              <item>
                   <name>Name 2</name>
                   <price>Price 2</price>
              </item>
              <item>
                   <name>Name 3</name>
                   <price>Price 3</price>
              </item>
              <item>
                   <name>Name 4</name>
                   <price>Price 4</price>
              </item>
              <item>
                   <name>Name 5</name>
                   <price>Price 5</price>
              </item>
         </items>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>

    I got the solution so i would like to share with others
    Iterator it = soapBody.getChildElements();
    getContents(it,"\t");get the Iterator from the SOAPBody object and pass it to the getContents() method
    code for getContents() is as follow:
    public static void getContents(Iterator iterator,  String indent)
         while (iterator.hasNext())
              SOAPElement element = (SOAPElement)iterator.next();
              Name name = element.getElementName();
              System.out.println(indent + "Name is " + name.getQualifiedName());
              String content = element.getValue();
              if (content != null)
                   System.out.println(indent + "Content is " +     content);
              Iterator attrs = element.getAllAttributes();
              while (attrs.hasNext())
                   Name attrName = (Name)attrs.next();
                   System.out.println(indent + " Attribute name is " + attrName.getQualifiedName());
                   System.out.println(indent + " Attribute value is " + element.getAttributeValue(attrName));
              if (content == null)
                   Iterator iter2 = element.getChildElements();
                   getContents(iter2, indent + indent);
    } --- hasan
    SCJP
    http://www.myjavaserver.com/~hasstar

  • Tableview selection looks different when using iterator

    One more litte question about the htmlb:tableView (Design2003, content-style = "tradeshow", selectMode = "MULTISELECT").
    When you select a table line, the line is displayed with an orange background. However, if you use a tableView Iterator where you use a textView as the replacement_bee to display some text, this text is not displayed with an orange background, but with only an orange border and a white bacground.
    Is there anything I can do?

    I'm currently working on SP-Upgrade-Checks (47 to 54) for our web applications, and this is one of the things I've noticed.
    Got hold up because of some more urgent duties, but as far as I remember I dealt with part of it already successfully. There are still some open questions I have though, and I hope to get back to this thread as soon as I can make some clear statements about it.
    cheers,
    Max

  • Check box in tabel view?when to use itereator and when to use table view

    hi,
    I want to have a check box along with the other 7fields  in the table view.
    when the checkbox is checked and the merge complete push button is clicked, the respective code for merge is to be executed.
    how can I do this?
    could anyone tell me hw to get a check boz in table view
    when to use a  iterator in BSP, how table view n iterator in comparision ae used or function/work.
    Regards,
    Pavan P.

    Hi Pavan,
    Table View is an BSP element used to display mass data in a layout similar to a table (table view).
    <b>Iterator</b>is an attribute to modify rendering row-by-row, and make it dependent on the clicked row. In this way, you define an action from a particular line. This action is defined in columnDefinitions or overWriteDefinitions.
    <htmlb:tableView id = "tvX"
                     headerText          = "Department List"
                     design              = "standard"
                     headerVisible       = "true"
                     width               = "30%"
         selectedRowKeyTable = "<%= selectedrowindextable %>"
         onRowSelection      = "MyEventRowSelection"
         sort                = "server"
         keepSelectedRow     = "TRUE"
         selectionMode       = "MULTISELECT"
         table               = "<%= i_dept %>" >
    </htmlb:tableview>
    In your <b> OnInputProcessing </b>, Use this Iterator table to get the data of selected records.
    IF selectedrowindextable[] IS NOT INITIAL.
    DESCRIBE TABLE selectedrowindextable LINES no .
    Rgds,
    Jothi.
    Pls do close the thread if ur problem is solved.

  • TableView and  iterator

    I have a check box that was added thru iterator.
    How do you stay in the same page of the tableview after clicking a check box?
    Example.
    there are 4 pages with 5 rows each. If i checked a box in page 4, it always goes to  page 1.

    What you can do is create a button and make the user click on the button..
    Then the onClick Event of the button, use the code to read value..!
    Hope this helps.
    <b><i>Do reward each useful answer..!</i></b>
    Thanks,
    Tatvagna.

  • Tableview using filter - wrong DataBinding?

    Using a filter in my tableview made me notice a behaviour of which I don't know if I forgot some important detail or just discovered something ...
    System: WebAS 6.20, SP45
    In my tableview I use data binding quite extensively, and after implementing and testing the filter I came across this situation:
    Chose a filter that would only display the 3rd entry of my table ... these are 4 of the render_cell_start parameters with their values:
    p_cell_id       mdl_vplaner_plan_data[3].evttx
    p_cell_binding  //model/plan_data[1].EVTTX
    p_row_index     3
    p_row_key       3
    Of course I set parameter keyColumn for the tableView, so row_index and row_key are the same. However, in the string <b>p_cell_binding</b> it is not the row_key but the number of the row processed in my iterator that is used.
    This caused the values of row with key '1' to appear in the first tableview-row wherever p_cell_binding was used.
    A workaround for this was not hard to find, just copy p_cell_binding to lv_cell_binding and replace the number there ...
    But any input from your side on this is appreciated. Did I not think about something regarding data binding? Did you come across the same situation using iterators with data binding and filter?
    Hoping for a lil' discussion
    Max

    David / Raghu - Thanks for u'r replies and apologizes for not posting question with proper material.
    Am posting my code and the error message from the screen.
    Code :
    IFNULL(FILTER("Fact - MBS Loan Transactions"."OUTSTANDING PRINCIPAL" USING "Dim - MBS Loan"."LOAN TYPE HPD/HDC/BNK" = 'HDC'),0)
    Error :
    nQSError: 10058] A general error has occurred. [nQSError: 22032] Function FILTER requires at least one measure attribute in its first argument. (HY000)
    SQL Issued: SELECT "Dim - MBS Loan"."LOAN AMOUNT", "Dim - MBS Loan"."LOAN TYPE HPD/HDC/BNK", "Dim - MBS Loan"."LOAN TYPE SEN/SUB", "Dim - MBS Project"."PROJECT NAME", "Dim - MBS Project"."PROJECT NUMBER", "Fact - MBS Loan Transactions"."AR BALANCE INTEREST", "Fact - MBS Loan Transactions"."GL BALANCE INTEREST", IFNULL(FILTER("Fact - MBS Loan Transactions"."OUTSTANDING PRINCIPAL" USING "Dim - MBS Loan"."LOAN TYPE HPD/HDC/BNK" = 'HDC'),0) FROM "Financials - MBS"
    OK (Ignore Error)
    Please continue answering my queries. Since am a newbie your answers won't be just a reply but it's actually learning for me.
    Thanks.

Maybe you are looking for

  • How do I find out the base dir for the current workspace ? Change?

    Assume I took over a colleagues JDeveloper installation. How can I find out the base dir for his JDevelopers workspace? Can I change this workspace base dir afterwards/later (without problems for the included sources and projects) ? Where can I chang

  • "Checkpoint not complete" hangs!

    Hi everyone; I see "Checkpoint not complete" in the alertlog but normally oracle just waits seconds then checkpoints and go on... But the problem is, database sometimes hangs with this message for minutes and never respond until i checkpoint manually

  • Virus on iPhone?

    Hi guys, Something very strange happened today to my 4S (iOS 6). I had the phone (screen locked) in my pocket when it played an email alert sound and vibrated, i pulled it out and looked at the screen and saw this message: "Your help is required rega

  • SCOM -SCVMM Post Integration Warning Alerts

    HI Recently we integrated SCOM 2012 and VMM 2012 as per this blog- http://blogs.technet.com/b/kevinholman/archive/2012/08/21/integrating-vmm-2012-and-opsmgr-2012.aspx#comments It was a success! However, there are lot of warning alerts popping up from

  • How to stop transport  of infocubes

    I have a project that has 60 transports that went to QA. There are 6 infocubes within those that went to QA that I do not want to go to Production. How can I stop those without redoing my transports.