Adding one row to a table for displaying calculated amounts

Hi,
My requirement is like this:
We are getting values  in the table with the columns
    recno     rectype      amount
        1            autofare         100
         2            airfare    50
        3             busfare    25
         4           railfare       10
         5          carfare         75
   i am getting all the values from backend.
now our requirement is want to calculate amount for reno1,3,5 and row should be displayed  as below:
recno   rectype  amount
  1           autofare  100
   3         busfare    25
  5         carfare      75
amount                 200     (here amount is not coming from backend.we need to add amount for recno 1,3 ,5 and iot should be       displayed like that)
2            airfare    50
4           railfare       10
amount               60
please suggest how to proceed on this?
Regards,
Anitha

hi Anitha,
you have to create a separate value node for storing original elements and their subtotals in the order you want them in the table.
For showing totals you can use cell variant in the table to give a different look and feel for the subtotal row.
Add another attribute in the value node for storing the variant name. bind this attribute to selected cell variant of table column.
int subtotal =0;
for(int i =0;i < size;i++)
IPrivate<view>NodeElement dataElement = dataNode.getDataElementAt(i);
IPrivate<view>NodeElement tablelement = wdContext.node<table>().createElement();
wdCopyService.copycorresponding(dataElement, tableElement);
//set cell variant to blank for original rows
tableelement.setSelectedVariant("");
wdContext.node<table>().addElement(tablelement);
//Calculate subtotals and add them in another valuenode
subtotal = subtotal + dataElement.getAmt();
if(i ==3)// give condition at which you need to add subtotal row.
IPrivate<view>NodeElement subtotalelement = wdContext.node<table>().createElement();
subtotalelement.setSubtotal(subtotal);
//set cell variant for subtotal row
subtotalelementsetSelectedVariant("subtotal");
wdContext.node<table>().addElement(tsubtotalelement);
subtotal =0; //reset subtotal
hope this helps!
Monalisa

Similar Messages

  • How to default the value of a selectOneChoice when adding a row to a table

    I have a table where one of the fields is a selectOneChoice. When adding a row to the table, the new row to be added displays the selectoneChoice field blank. I would like to have this field default to a specific value within the selectoneChoice when clicking the add button. Any suggestion on the code I need to add in the backing bean? Thanks in advance.

    After some studying I figured out how to do this... code below for anyone interested:
    DCIteratorBinding dcib = (DCIteratorBinding) bindings.get("someIterator");
    RowSetIterator iter = dcib.getRowSetIterator();
    Row newRow = iter.createRow();
    newRow.setAttribute("yourFieldName",fieldDefaultValue);
    iter.insertRowAtRangeIndex(0, newRow);
    iter.closeRowSetIterator();

  • Dynamically adding a row in a table in JSF

    Hi All,
    I am searching for a control in JSF using which I can dynamically add more than one row in a table. Currently I am handling this in javasript where I have to click on the "Add Row" button to add one more row at the bottom of the table. I want to get rid of javascript.
    If anyone knows about such control then please help me.
    Thanks in advance.
    Regards,
    Saket

    hello Saketh,
    here is the code for Create Delete Update code where a row is added for every button click..and the JSF code is at the bottom.. today u r blessed with ocean. :-) have fun!!
    package redrose;
    import net.sf.hibernate.Session;
    import net.sf.hibernate.Transaction;
    import net.sf.hibernate.Query;
    import javax.faces.model.DataModel;
    import javax.faces.model.ListDataModel;
    public class RowEntry {
         private DataModel datamodel = null;
         static Integer sid;
         private Medata mdobject = null;
         private Medata nm=null;
          * @return Returns the newMdobject.
         public Medata getNm() {
              nm = new Medata();
              return nm;
          * @param newMdobject The newMdobject to set.
         public void setNm(Medata newMdobject) {
              this.nm = newMdobject;
          * @return Returns the mdobject.
         public Medata getMdobject() {
              return mdobject;
          * @param mdobject The mdobject to set.
         public void setMdobject(Medata mdobject) {
              this.mdobject = mdobject;
         public DataModel getDatamodel()
              datamodel = new ListDataModel();
              Session hibSession;     
              try{
                   hibSession = HibernateSessionFactory.currentSession();
                   Query q = hibSession.createQuery("FROM Medata");                    
                   q.setMaxResults(9999);
                   datamodel.setWrappedData(q.list());
              catch(Exception ex){
                    System.err.println("%%%% Error GetData %%%%");
                    ex.printStackTrace();
              return datamodel;
          * Inserting a new Record by reading from Client
         public void insertEntry()
                  Transaction tx = null;
                   Session session = null;
                   try{
                        session = HibernateSessionFactory.currentSession();
                        tx = session.beginTransaction();
                        Medata     dbmedata = new Medata();
                             dbmedata.setEmploy(nm.getEmploy());
                             session.save(dbmedata);
                        tx.commit();
                        session.close();
                   catch(Exception ex){
                        System.err.println("%%%% Modify Data %%%%");
                        ex.printStackTrace();
          * Modify data
         public void updateEntry()
              int a =0;
             if (this.datamodel == null) return;
             Medata mdupdate = (Medata) this.datamodel.getRowData();
             if (mdupdate == null ) return;
              Transaction tx = null;
              Session session = null;
              try{
                   session = HibernateSessionFactory.currentSession();
                   tx = session.beginTransaction();
                   Medata dbmedata = (Medata) session.load(Medata.class,mdupdate.getId());
                   if (dbmedata != null){ // we have to update the record
                        dbmedata.setEmploy(mdupdate.getEmploy());
                        session.update(dbmedata);
                   else // we have to insert the record
                        dbmedata = new Medata();
                        dbmedata.setEmploy(mdupdate.getEmploy());
                        session.save(dbmedata);
                   tx.commit();
                   session.close();
              catch(Exception ex){
                   System.err.println("%%%% Modify Data %%%%");
                   ex.printStackTrace();
          * Delete Data
         public void removeEntry()
             if (this.datamodel == null) return;
             Medata mdupdate = (Medata) this.datamodel.getRowData();
              Transaction tx = null;
              Session session = null;
              try{
                   session = HibernateSessionFactory.currentSession();
                   tx = session.beginTransaction();
                   Medata dbmedata = (Medata) session.load(Medata.class,mdupdate.getId());
             if (mdupdate == null ) return;
                   if (dbmedata != null){ // we have to update the record
                        session.delete(dbmedata);
                        tx.commit();
              catch(Exception ex){
                   System.err.println("%%%% Delete Data %%%%");
                   ex.printStackTrace();
    Here starts the JSF code
    <%@ page language="java" %>
    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
         <base href="<%=basePath%>">
         <title>My JSF 'trial.jsp' starting page</title>
         <meta http-equiv="pragma" content="no-cache">
         <meta http-equiv="cache-control" content="no-cache">
         <meta http-equiv="expires" content="0">   
         <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
         <meta http-equiv="description" content="This is my page">
         <!--
         <link rel="stylesheet" type="text/css" href="styles.css">
         -->
    </head>
    <body>
         <f:view>
              <h:form>
         <h:dataTable border="3" value="#{bla.all}" var="currentRow">
                          <h:column>
                            <f:facet name="header">
                                 <h:outputText value="Employee Name" />
                            </f:facet>
                  <h:inputText value="#{currentRow.employ}">
                            </h:inputText>
                       </h:column>
                          <h:column>
                            <f:facet name="header">
                                 <h:outputText value="Employee Number" />
                            </f:facet>
                            <h:inputText value="#{currentRow.id}"></h:inputText>
                       </h:column>
                       <h:column>
                       <f:facet name="header">
                       </f:facet>
                       <h:commandButton id="Delete" action="#{bla.insert}" value="Delete"></h:commandButton>
                  <h:commandButton id="Modify" action="#{bla.modify}" value="Modify"></h:commandButton>
                       </h:column>
                  </h:dataTable>
                   <h:commandButton id="Insert" action="#{bla.insert}" value="Insert"></h:commandButton>
               <%--h:outputText value="#{bla.sid}"></h:outputText--%>
               </h:form>
         </f:view>
    </body>
    </html>
    Faces-config file starts here
    <managed-bean>
              <description>Inserts a record</description>
              <managed-bean-name>bla</managed-bean-name>
              <managed-bean-class>redrose.RowEntry</managed-bean-class>
              <managed-bean-scope>session</managed-bean-scope>
         </managed-bean>     
         

  • Fetching more than one row from a table after selecting one value from the dropdown

    Hi Experts,
    How can we fetch more than one row from a table after selecting one value from the dropdown.
    The scenario is that I have some entries in the dropdown like below
      A               B               C        
    11256          VID          911256  
    11256          VID          811256
    11256          SONY      11256
    The 'B' values are there in the dropdown. I have removed the duplicate entries from the dropdown so now the dropdownlist has only two values.for eg- 'VID' and'SONY'. So now, after selecting 'VID' from the dropdown I should get all the 'C' values. After this the "C' values are to be passed to other methods to fetch some data from other tables.
    Request your help on this.
    Thanks,
    Preeetam Narkhede.

    Hi Preetam!
    I hope I understand your request proberly, since this is more about Java and less about WebDynpro, but if I'm wrong, just follow up on this.
    Supposed you have some collection of your original table data stored in variable "origin". Populate a Hashtable using the values from column "B" (let's assume it's Strings) as keys and an ArrayList of whatever "C" is (let's assume String instances, too) as value (there's a lot of ways to iterate over whatever your datasource is, and since we do not know what your datasource is, maybe you'll have to follow another approach to get b and c vaues,but the principle should remain the same):
    // Declare a private variable for your Data at the appropriate place in your code
    private Hashtable temp = new Hashtable<String, ArrayList<String>>();
    // Then, in the method you use to retrieve backend data and populate the dropdown,
    // populate the Hashtable, too
    Iterator<TableData> a = origin.iterator();
    while (a.hasNext()) {
         TableData current = a.next();
         String b = current.getB();
         String c = current.getC();
         ArrayList<String> values = this.temp.get(b);
         if (values == null) {
              values = new ArrayList<String>();
         values.add(c);
         this.temp.put(b, values);
    So after this, you'll have a Hashtable with the B values als keys and collections of C values of this particular B as value:
    VID --> (911256, 811256)
    SONY --> (11256)
    Use
    temp.keySet()
    to populate your dropdown.
    After the user selects an entry from the dropdown (let's say stored in variable selectedB), you will be able to retrieve the collection of c's from your Hashtable
    // In the metod you handle the selection event with, get the c value collection
    //and use it to select from your other table
    ArrayList<String> selectedCs = this.temp.get(selectedB);
    // now iterate over the selectedCs items and use each of these
    //to continue retrieving whatever data you need...
    for (String oneC : selectedCs) {
         // Select Data from backend using oneC in the where-Clause or whatever...
    Hope that helps
    Michael

  • Highlighting one row in a table control

    Hi All,
    Can i highlight one row in a table control. I found some stroke color in the properties for a field in table control. But i am not sure, will it be applied to the entire column or to a particular field.
    Anybody aware of this.?
    Regards,
    Manjunatha.T.S

    Hi,
    This is not currently available in VC.
    Lior

  • How to bring the more than one rows from the table into the script

    Hi
    I have to bring more than one rows from the table into the Main windows of the script. so plz help me out.
    Thanks in Advance
    Ananya

    Hi Ananya,
       Bring more than one row into main window of script.
       For this you need to do some changes for data which you pass to main window.At a time you need to pass more than one row,so for this you need to define one structure.See below code.
    Types:begin of ty_rows,
         include structure (your row_structure),
         include structure (your row_sturcture),
    Types:end of ty_rows.
    for example....
    If i need to pass 2 vendor details at a time to main window then the structure should be like this.
    Types:begin of ty_rows,
           vendor1 like lfa1-lifnr,
           vendor1_name like lfa1-name1,
           vendor2 like lfa1-lifnr,
           vendor2_name like lfa1-name1,
          end of ty_rows.
    Data:i_main type standard table of ty_rows,
         wa_main type ty_rows.
    Based on condition you can pass more than one rows of your actual internal table data to i_main internal table.
    Then you can pass i_main internal table to your main window.
        I think this will help you.
    Cheers,
    Bujji

  • Want to disable one row in a table

    Hi,
    I have a requirement where I have to disable only one row of a table.
    Also, I am not using any checkboxes/radiobuttons in the table.
    Please help me in resolving this.
    Thanking You.
    Regards.
    Reinuka.

    Hi,
    Create a Value Node in the below mentioed structure
    TableNode
    ---value1
    ---value2
    ---value3
    ---TableRowReadOnly(boolean)
    Note: - make sure that the attribute TableRowReadOnly is in the same level as the other attributes in the node
    Create an Action for the onLeadSelect event for the table and in that action, write the following code:
    int leadSelection = wdContext().node<nodename>().getLeadSelection();
    if(leadSelection != -1)
         for(int i = 0; i < wdContext.nodeTableNode().size(); i++)
                 if(condition)
                          wdContext().nodeTableNode().getTableNodeElementAt(i).setTableReadOnly(true);
                else
                          wdContext().nodeTableNode().getTableNodeElementAt(i).setTableReadOnly(false);
    Hope this helps u
    Regards,
    Poojith MV

  • For display budgeted amount in cost center what is table in sap?

    For display budgeted amount in cost center what is table in sap?

    Hi,
    Is it budget or planning ? Budget is in BPJA; while planning is mainly in COSS, but also in COSP.
    Regards,
    Eli

  • JBO-28004: Could not lock row in control table for table null

    hello.
    we have deployed two application on a server.
    both have code like this:
         select = "SELECT * from tab";
    vo = e.getDBTransaction().createViewObjectFromQueryStmt(select);
                        vo.executeQuery();
                        RowSet rs = vo.getRowSet();
                        if(rs != null)
                             Row lastRow = vo.getRowSet().last();
    the last line throws sometimes an exception (.last()).
    JBO-28004: Could not lock row in control table for table null
    at oracle.jbo.PCollException.throwException(PCollException.java:34)
    at oracle.jbo.pcoll.OraclePersistManager.commit(OraclePersistManager.java:229)
    at oracle.jbo.pcoll.OraclePersistManager.dropTable(OraclePersistManager.java:499)
    at oracle.jbo.pcoll.OraclePersistManager.createTable(OraclePersistManager.java:692)
    at oracle.jbo.pcoll.OraclePersistManager.insert(OraclePersistManager.java:1492)
    at oracle.jbo.pcoll.PCollNode.passivateElem(PCollNode.java:542)
    at oracle.jbo.pcoll.PCollNode.passivate(PCollNode.java:657)
    at oracle.jbo.pcoll.PCollection.passivateLRULeafNode(PCollection.java:351)
    at oracle.jbo.pcoll.PCollection.checkActiveLeafLimit(PCollection.java:404)
    at oracle.jbo.pcoll.PCollection.nodeRecentlyUsed(PCollection.java:252)
    at oracle.jbo.pcoll.PCollNode.<init>(PCollNode.java:73)
    at oracle.jbo.pcoll.PCollNode.checkForSplit(PCollNode.java:1553)
    at oracle.jbo.pcoll.PCollNode.addObject(PCollNode.java:1622)
    at oracle.jbo.pcoll.PCollNode.addObject(PCollNode.java:1610)
    at oracle.jbo.pcoll.PCollection.addElement(PCollection.java:753)
    at oracle.jbo.server.QueryCollection.fetch(QueryCollection.java:1247)
    at oracle.jbo.server.QueryCollection.getRowCount(QueryCollection.java:1065)
    at oracle.jbo.server.ViewRowSetImpl.getRowCount(ViewRowSetImpl.java:1444)
    at oracle.jbo.server.ViewRowSetIteratorImpl.last(ViewRowSetIteratorImpl.java:1183)
    at oracle.jbo.server.ViewRowSetImpl.last(ViewRowSetImpl.java:2246)
    at oracle.jbo.server.ViewObjectImpl.last(ViewObjectImpl.java:4352)
    at com.omv.emis.extemis.bc.EmsFreigabeImpl.checkFullMonth(EmsFreigabeImpl.java:327)
    at com.omv.emis.extemis.bc.EmsFreigabeImpl.doDML(EmsFreigabeImpl.java:293)
    at oracle.jbo.server.EntityImpl.postChanges(EntityImpl.java:3410)
    at oracle.jbo.server.DBTransactionImpl.doPostTransactionListeners(DBTransactionImpl.java:2274)
    at oracle.jbo.server.DBTransactionImpl.postChanges(DBTransactionImpl.java:2216)
    at oracle.jbo.server.DBTransactionImpl.commitInternal(DBTransactionImpl.java:1511)
    at oracle.jbo.server.DBTransactionImpl.commit(DBTransactionImpl.java:1677)
    at EmsFreigabeView1_BrowseEdit._jspService(_EmsFreigabeView1__BrowseEdit.java:134)
    at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56)
    at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:317)
    at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:465)
    at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:379)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
    at oracle.security.jazn.oc4j.JAZNFilter.doFilter(JAZNFilter.java:283)
    at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:563)
    at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:309)
    at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:767)
    at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:259)
    at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:106)
    this exception does not occur every time just sometimes.
    (no other user/application uses the specific table, so there is no other lock)
    maybe someone knows an error source.
    thx in advance.

    Gina:
    Could you run you app with diagnostic turned on?
    If you're launching your middle tier from command prompt, you should invoke java as
    java -Djbo.debugoutput=console ...
    If you're launching your middle tier from w/i JDev..
    1. Select the project.
    2. Do right mouse click and select "Project Settings..."
    3. On the Settings dialog, select Configurations/Runner.
    4. In the righthand side pane, you should see a textbox for "Java
    Options". Please add the following JVM switch:
    -Djbo.debugoutput=console
    Then, rerun. The run command should include
    -Djbo.debugoutput=console as in
    "D:\JDev9i\jdk\bin\javaw.exe" -Djbo.debugoutput=console -classpath ...
    Then, you should see a lot of diagnostic messages. It will also give you complete stack trace including that of the detail exception.
    When you get the exception diagnostic output, please post that to this thread.
    Thanks.
    Sung

  • ReadOnly for one row in a table in Web Dynpro

    Hallo,
    is there a possibility to set rows in a table to readonly if there is a condition to do that.
    The rest must be in normal lookout.
    Kind regards
    Gunter

    Hi,
    Refer to the flwg thread,
    Field in web dynpro table for one row to be read only
    Hope it helps.
    Regards
    Srinivasan T

  • How to select one row in a table with radio button

    Hi all.
    I have a VO where there is an attribute (isDefault [String]) that identifies the default record in the view. The possible values are 'Y' for yes and 'N' for no. Obviously only one record can have the 'Y' value.
    In my page I have created an ADF Table (with the usual data control drag & drop). I would to transform the default inputText of "isDefault" field with a selectOneRadio component in order to permit the user to select (and save contextually in the DB) the default row of this table.
    Can you explain me how? I'm using JDeveloper 11.1.1.4.
    Thanks in advance.
    Baduel

    Baduel wrote:
    Cvele,
    thanks for your responses. Yes, it's easier to use af:selectBooleanCheckbox but I need that the selection is mutually exclusive (only one row can be selected). >If this is possible also with the boolean checkbox please tell me how.- Let's try with CheckBox :
    1. At the ViewObjectImpl level (for example, YourViewObjectImpl), add the following code:
      private oracle.jbo.Key currSelectedRowKey = null;
      public void doRowSelection(Key newKey) {
          // de-select old one
          if (currSelectedRowKey != null) {
              Row[] rows = findByKey(currSelectedRowKey,  1);
              if (rows != null && rows.length > 0)
                   rows[0].setStatusAsBoolean(Boolean.FALSE); // cast to the appropriate row Impl class if need !
         // remember a new selected row key:
        currSelectedRowKey = newKey;
      }In the ViewRowImpl, in the transient attr settter, do as follows:
      public void setStatusAsBoolean(Boolean value) {
         setStatus(value.booleanValue() ? ONE : ZERO);
         if (value.booleanValue()) {
             YourViewObjectImpl vo = (YourViewObjectImpl)getViewObject();
             vo.doRowSelection(getKey());
       }   P.S. The above was not tested at all, but should give you an idea

  • How to retrive more than one row value from table

    hi,
      I had create one table if i entered value in more than one row, the second row override the first row value and while printing it in flat file i am getting the second value entered twice.
      i created one context for each column.
        plz provide me a solution..........
           very urgent..........
            Regards,
            Kiruthika

    Hi,
    Create seperate element for each row and then set values.
    for(int i=0;i<4;i++)
    IPrivate<view name>.I<node name>Element element = wdContext.node<node name>().create<node name>Element();
    wdContext.node<node name>().addElement(element);
    element.set<Att>();
    to retrive:
    int s=wdContext.node<node name>.size();
    for(int j=0;j<s;J++){
    wdcontext.node<nodename>.getnodeelementAt(j).getAttribute();
    Check this link about tables
    https://www.sdn.sap.com/irj/sdn/downloaditem?rid=/library/uuid/bad3e990-0201-0010-3985-fa0936d901b4
    Regards,
    Vijayakhanna Raman

  • After adding one column in a table can't get the header line

    hi all,
    i have make a SMART FORM which was working perfectly.Now the requirement of user is to add one column in my table at smart form which i did and after modification i execute it it give me data as well but issue which i'm facing is that the TABLE at smart forms in which i have add one field is not displaying the HEADER LINE which i have define with SELECT PATTREN option.
    Thanks & Regards,
    sappk25

    Hi,
    Have you created the Header Text? If yes, then might be the case that your smartforms
    table which was already created is with Multiple Line. Check weather you have added
    customer field in Header Line or Not?
    Regards,
    SUjeet

  • Select columns from table for display in alvgrid.

    Hi all,
    i have the following:
    i do select a tablename and pass it as a parameter. then this table is loaded into an internal table and displayed in an alv-grid.
    what i now want to do is a step  between the both:
    after the internal table with its structure is loaded, i want to display the field columns and i want them to be selectable so that in the next step the alv - grid is selected only with the selected columns ( just now it allways runs with all columns - even the not needed ).
    Any ideas for that would be appreciated. Is there some tutorial on that or some sample ?

    hi
    chk this sample code:
    *REPORT  zdemo_alvgrid                 .
    TABLES:     ekko.
    type-pools: slis.                                 "ALV Declarations
    *Data Declaration
    TYPES: BEGIN OF t_ekko,
      ebeln TYPE ekpo-ebeln,
      ebelp TYPE ekpo-ebelp,
      statu TYPE ekpo-statu,
      aedat TYPE ekpo-aedat,
      matnr TYPE ekpo-matnr,
      menge TYPE ekpo-menge,
      meins TYPE ekpo-meins,
      netpr TYPE ekpo-netpr,
      peinh TYPE ekpo-peinh,
    END OF t_ekko.
    DATA: it_ekko TYPE STANDARD TABLE OF t_ekko INITIAL SIZE 0,
          wa_ekko TYPE t_ekko.
    *ALV data declarations
    data: fieldcatalog type slis_t_fieldcat_alv with header line,
          gd_tab_group type slis_t_sp_group_alv,
          gd_layout    type slis_layout_alv,
          gd_repid     like sy-repid,
          gt_events     type slis_t_event,
          gd_prntparams type slis_print_alv.
    *Start-of-selection.
    START-OF-SELECTION.
    perform data_retrieval.
    perform build_fieldcatalog.
    perform build_layout.
    perform build_events.
    perform build_print_params.
    perform display_alv_report.
    *&      Form  BUILD_FIELDCATALOG
          Build Fieldcatalog for ALV Report
    form build_fieldcatalog.
    There are a number of ways to create a fieldcat.
    For the purpose of this example i will build the fieldcatalog manualy
    by populating the internal table fields individually and then
    appending the rows. This method can be the most time consuming but can
    also allow you  more control of the final product.
    Beware though, you need to ensure that all fields required are
    populated. When using some of functionality available via ALV, such as
    total. You may need to provide more information than if you were
    simply displaying the result
                  I.e. Field type may be required in-order for
                       the 'TOTAL' function to work.
      fieldcatalog-fieldname   = 'EBELN'.
      fieldcatalog-seltext_m   = 'Purchase Order'.
      fieldcatalog-col_pos     = 0.
      fieldcatalog-outputlen   = 10.
      fieldcatalog-emphasize   = 'X'.
      fieldcatalog-key         = 'X'.
    fieldcatalog-do_sum      = 'X'.
    fieldcatalog-no_zero     = 'X'.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'EBELP'.
      fieldcatalog-seltext_m   = 'PO Item'.
      fieldcatalog-col_pos     = 1.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'STATU'.
      fieldcatalog-seltext_m   = 'Status'.
      fieldcatalog-col_pos     = 2.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'AEDAT'.
      fieldcatalog-seltext_m   = 'Item change date'.
      fieldcatalog-col_pos     = 3.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'MATNR'.
      fieldcatalog-seltext_m   = 'Material Number'.
      fieldcatalog-col_pos     = 4.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'MENGE'.
      fieldcatalog-seltext_m   = 'PO quantity'.
      fieldcatalog-col_pos     = 5.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'MEINS'.
      fieldcatalog-seltext_m   = 'Order Unit'.
      fieldcatalog-col_pos     = 6.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'NETPR'.
      fieldcatalog-seltext_m   = 'Net Price'.
      fieldcatalog-col_pos     = 7.
      fieldcatalog-outputlen   = 15.
      fieldcatalog-datatype     = 'CURR'.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'PEINH'.
      fieldcatalog-seltext_m   = 'Price Unit'.
      fieldcatalog-col_pos     = 8.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
    endform.                    " BUILD_FIELDCATALOG
    *&      Form  BUILD_LAYOUT
          Build layout for ALV grid report
    form build_layout.
      gd_layout-no_input          = 'X'.
      gd_layout-colwidth_optimize = 'X'.
      gd_layout-totals_text       = 'Totals'(201).
    gd_layout-totals_only        = 'X'.
    gd_layout-f2code            = 'DISP'.  "Sets fcode for when double
                                            "click(press f2)
    gd_layout-zebra             = 'X'.
    gd_layout-group_change_edit = 'X'.
    gd_layout-header_text       = 'helllllo'.
    endform.                    " BUILD_LAYOUT
    *&      Form  DISPLAY_ALV_REPORT
          Display report using ALV grid
    form display_alv_report.
      gd_repid = sy-repid.
      call function 'REUSE_ALV_GRID_DISPLAY'
           exporting
                i_callback_program      = gd_repid
                i_callback_top_of_page   = 'TOP-OF-PAGE'  "see FORM
                i_callback_user_command = 'USER_COMMAND'
               i_grid_title           = outtext
                is_layout               = gd_layout
                it_fieldcat             = fieldcatalog[]
               it_special_groups       = gd_tabgroup
                it_events               = gt_events
                is_print                = gd_prntparams
                i_save                  = 'X'
               is_variant              = z_template
           tables
                t_outtab                = it_ekko
           exceptions
                program_error           = 1
                others                  = 2.
      if sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      endif.
    endform.                    " DISPLAY_ALV_REPORT
    *&      Form  DATA_RETRIEVAL
          Retrieve data form EKPO table and populate itab it_ekko
    form data_retrieval.
    select ebeln ebelp statu aedat matnr menge meins netpr peinh
    up to 10 rows
      from ekpo
      into table it_ekko.
    endform.                    " DATA_RETRIEVAL
    Form  TOP-OF-PAGE                                                 *
    ALV Report Header                                                 *
    Form top-of-page.
    *ALV Header declarations
    data: t_header type slis_t_listheader,
          wa_header type slis_listheader,
          t_line like wa_header-info,
          ld_lines type i,
          ld_linesc(10) type c.
    Title
      wa_header-typ  = 'H'.
      wa_header-info = 'EKKO Table Report'.
      append wa_header to t_header.
      clear wa_header.
    Date
      wa_header-typ  = 'S'.
      wa_header-key = 'Date: '.
      CONCATENATE  sy-datum+6(2) '.'
                   sy-datum+4(2) '.'
                   sy-datum(4) INTO wa_header-info.   "todays date
      append wa_header to t_header.
      clear: wa_header.
    Total No. of Records Selected
      describe table it_ekko lines ld_lines.
      ld_linesc = ld_lines.
      concatenate 'Total No. of Records Selected: ' ld_linesc
                        into t_line separated by space.
      wa_header-typ  = 'A'.
      wa_header-info = t_line.
      append wa_header to t_header.
      clear: wa_header, t_line.
      call function 'REUSE_ALV_COMMENTARY_WRITE'
           exporting
                it_list_commentary = t_header.
               i_logo             = 'Z_LOGO'.
    endform.
          FORM USER_COMMAND                                          *
          --> R_UCOMM                                                *
          --> RS_SELFIELD                                            *
    FORM user_command USING r_ucomm LIKE sy-ucomm
                      rs_selfield TYPE slis_selfield.
    Check function code
      CASE r_ucomm.
        WHEN '&IC1'.
      Check field clicked on within ALVgrid report
        IF rs_selfield-fieldname = 'EBELN'.
        Read data table, using index of row user clicked on
          READ TABLE it_ekko INTO wa_ekko INDEX rs_selfield-tabindex.
        Set parameter ID for transaction screen field
          SET PARAMETER ID 'BES' FIELD wa_ekko-ebeln.
        Sxecute transaction ME23N, and skip initial data entry screen
          CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN.
        ENDIF.
      ENDCASE.
    ENDFORM.
    *&      Form  BUILD_EVENTS
          Build events table
    form build_events.
      data: ls_event type slis_alv_event.
      call function 'REUSE_ALV_EVENTS_GET'
           exporting
                i_list_type = 0
           importing
                et_events   = gt_events[].
      read table gt_events with key name =  slis_ev_end_of_page
                               into ls_event.
      if sy-subrc = 0.
        move 'END_OF_PAGE' to ls_event-form.
        append ls_event to gt_events.
      endif.
        read table gt_events with key name =  slis_ev_end_of_list
                               into ls_event.
      if sy-subrc = 0.
        move 'END_OF_LIST' to ls_event-form.
        append ls_event to gt_events.
      endif.
    endform.                    " BUILD_EVENTS
    *&      Form  BUILD_PRINT_PARAMS
          Setup print parameters
    form build_print_params.
      gd_prntparams-reserve_lines = '3'.   "Lines reserved for footer
      gd_prntparams-no_coverpage = 'X'.
    endform.                    " BUILD_PRINT_PARAMS
    *&      Form  END_OF_PAGE
    form END_OF_PAGE.
      data: listwidth type i,
            ld_pagepos(10) type c,
            ld_page(10)    type c.
      write: sy-uline(50).
      skip.
      write:/40 'Page:', sy-pagno .
    endform.
    *&      Form  END_OF_LIST
    form END_OF_LIST.
      data: listwidth type i,
            ld_pagepos(10) type c,
            ld_page(10)    type c.
      skip.
      write:/40 'Page:', sy-pagno .
    endform.
    **reward if helpful
    regards,
    madhu

  • Adding/Deleting rows in a Table

    I am trying to get a couple of buttons to work in a table to add/delete rows. I have followed the directions in the LiveCycle designer help and it isn't working.
    In a test setup the only difference I can see from the help file is my Table is called Table1 and the subform containing the 2 buttons is called Subform1
    I have therefore amended the script for the click event for the AddRow to
    "Table1.Row1.instanceManager.addInstance(1);"
    Any ideas where I am going wrong?
    TIA
    Antony

    Hi,
    My usecase is that user enters a url with parameters for example in the text box--> http://host:port/employee/all?department=abc&location=india. Now i want to parse this url , get the parameters out and put it in the table so that it is convenient for users to modify these parameters. User has a option to add and delete the parameter in the table. So once all this is done and user clicks on say save i don't need to send this table to server. i just have to make sure that the values added/deleted from the table are in sync with the url. So in the server i get all the parameters from the url and continue.
    Since this is only needed on the client side i wanted to know if we can create a table with no values and then say on tabbing out of the url text box call a javascript that takes value from it and adds new rows to the table.
    I am using JDEVADF_MAIN_GENERIC_140109.0434.S

Maybe you are looking for

  • Abap report painter tool

    I have to modify the report output in about 6 different reports thats written with ABAP.  I am looking for some type of tool to help me to rewrite the screen output.  It's very tedious to write the code using the 'Write AT' command because these repo

  • Select from  Berkeley DB through java code not working

    Hi, I have developed an application using Jdeveloper 11g where in the Database Navigator I have created a new connection say Conn1 ,selected Generic Jdbc as the connection type and org.sqlite.Jdbc as the Driver Class.The JDBC URL is for example jdbc:

  • I reset settings. Now has blank screen with Apple . How do I get to load?

    I Hit reset setting on mini iPad to see if would help programs from going out. Now. all I have is a black screen with Apple  showing with white line below it. Doesn't like trying to open. haven't got it to do updates either. Can anyone advise me on h

  • 'main' multiply defined

    Folks Almost afraid to post this, as the solution is probably in front of my nose, but... Just downloaded the XML Parser for C v2 for Solaris. Trying to compile the SAXSample, but getting the following errors when linking: SunOS/u/esp/ruvoloj/xml/sam

  • Warning message "Your device might not be able to play or view this file" when copying MP3s to MTP device

    Some new phones are doing away with the virtual HDD and switching to MTP for transferring files to/from the device. Because of this every time I want to copy MP3s to my MTP device I get a Windows message saying "Your device might not be able to play