How to create a tableview for this ??

Hey, i have been stuck to this part for a long time and not able to find any answers, may be i can get some help from you guys.
See i have a scenario where i have different "items",out of which each will belong to a predefined category. These items have names and then different types(depend on the category), each of these types in turn have a price.
For example if I have Item1(Bottle Of Water),belongs to category1 and it has different types : 200ml ,500 ml, 1000ml with price tags of 10,20,30 respectively.
Similarly,I have Item2(Box of Butter),belongs to category2 and it has different types : 100 gm, 200 gm with price tags of 15 and 25 respectively.
Now, i want these data to be shown on a editable table,when i press on a category button,all items belonging to the category(having the same types) must be displayed, with the headings divided into :
On pressing category 1
NAME | PRICE |
| 200ml |500ml|1000ml |
| |
Bottle Of Water | 10 | 20 | 30 |
On pressing category 2
NAME | PRICE |
| 100gm | 200ml |
| |
Box Of Butter | 15 | 25 |
So i want a dyanamic table which can have dynamic nested columns.
I was trying to make a table from the class
public class ItemVO()
String itemName;
List<ItemTypeVO> type;
and My ItemTypeVO has the following attributes :
public class ItemTypeVO()
String typeName;
Integer price;
But m not able to get anywhere with it.
Many a places i have found dynamic columns with attributes like this :
public class ItemVO()
String itemName;
ItemTypeVO type;
But this doesnt suit my functionality. i guess .
Can anybody help me with what change can i make in my class, so that i can make a table and supply me with some code as well.
Thanks in advance.

I don't really know what you are trying to do in this Test class.
I mocked this up with the object model I suggested and a mock data access object which just hard codes a few items, and it works just fine.
Type.java
package itemtable;
public class Type {
  private final String name ;
  public Type(String name) {
    this.name = name ;
  public String getName() {
    return name ;
}Category.java
package itemtable;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Category {
  private final List<Type> types ;
  private final String name ;
  public Category(String name, List<Type> types) {
    this.name = name ;
    this.types = new ArrayList<Type>();
    this.types.addAll(types);
  public List<Type> getTypes() {
    return Collections.unmodifiableList(types);
  public String getName() {
    return name ;
  @Override
  public String toString() {
    return name ;
}Item.java
package itemtable;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javafx.beans.property.DoubleProperty;
import javafx.beans.property.ReadOnlyObjectProperty;
import javafx.beans.property.SimpleDoubleProperty;
import javafx.beans.property.SimpleObjectProperty;
import javafx.beans.property.SimpleStringProperty;
import javafx.beans.property.StringProperty;
public class Item {
  private final StringProperty name ;
  private final ReadOnlyObjectProperty<Category> category ;
  private final Map<Type, DoubleProperty> prices ;
  public Item(String name, Category category, Map<Type, Double> prices) {
    this.name = new SimpleStringProperty(name);
    this.category = new SimpleObjectProperty<Category>(category);
    this.prices = new HashMap<Type, DoubleProperty>();
    for (Type type : prices.keySet()) {
      validateType(type);
      this.prices.put(type, new SimpleDoubleProperty(prices.get(type)));
  public String getName() {
    return name.get();
  public Category getCategory() {
    return category.get();
  public double getPrice(Type type) {
    validateType(type);
    return prices.get(type).get();
  public void setName(String name) {
    this.name.set(name);
  public void setPrice(Type type, double price) {
    validateType(type);
    prices.get(type).set(price);
  public StringProperty nameProperty() {
    return name ;
  public ReadOnlyObjectProperty<Category> categoryProperty() {
    return category ;
  public DoubleProperty priceProperty(Type type) {
    return prices.get(type);
  private void validateType(Type type) {
    final List<Type> allowedTypes = category.get().getTypes();
    if (! allowedTypes.contains(type)) {
      throw new IllegalArgumentException("Cannot set a price for "+type.getName()+": it is not a type for the category "+category.getName());
}DAO.java
package itemtable;
import java.util.List;
public interface DAO {
  public List<Category> getCategories();
  public List<Item> getItemsByCategory(Category category);
}MockDAO.java
package itemtable;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class MockDAO implements DAO {
  private final List<Category> categories ;
  private final Map<Category, List<Item>> itemLookup ;
  public MockDAO() {
    final Type spreadType100g = new Type("100g");
    final Type spreadType200g = new Type("200g");
    final Type drinkType200ml = new Type("200ml");
    final Type drinkType500ml = new Type("500ml");
    final Type drinkType1000ml = new Type("1000ml");
    final Category spreads = new Category(
        "Spreads",
        Arrays.asList(spreadType100g, spreadType200g)
    final Category drinks = new Category(
        "Drinks",
        Arrays.asList(drinkType200ml, drinkType500ml, drinkType1000ml)
    final Map<Type, Double> waterPrices = new HashMap<Type, Double>();
    waterPrices.put(drinkType200ml, 10.0);
    waterPrices.put(drinkType500ml, 20.0);
    waterPrices.put(drinkType1000ml, 30.0);
    final Map<Type, Double> pepsiPrices = new HashMap<Type, Double>();
    pepsiPrices.put(drinkType200ml, 25.0);
    pepsiPrices.put(drinkType500ml, 45.0);
    pepsiPrices.put(drinkType1000ml, 75.0);
    final Map<Type, Double> butterPrices = new HashMap<Type, Double>();
    butterPrices.put(spreadType100g, 15.0);
    butterPrices.put(spreadType200g, 25.0);
    final Map<Type, Double> margarinePrices = new HashMap<Type, Double>();
    margarinePrices.put(spreadType100g, 12.0);
    margarinePrices.put(spreadType200g, 20.0);
    final Map<Type, Double> mayoPrices = new HashMap<Type, Double>();
    mayoPrices.put(spreadType100g, 20.0);
    mayoPrices.put(spreadType200g, 35.0);
    final Item water = new Item("Water", drinks, waterPrices);
    final Item pepsi = new Item("Pepsi", drinks, pepsiPrices);
    final Item butter = new Item("Butter", spreads, butterPrices);
    final Item margarine = new Item("Margarine", spreads, margarinePrices);
    final Item mayonnaise = new Item("Mayonnaise", spreads, mayoPrices);
    this.categories = Arrays.asList(drinks, spreads);
    this.itemLookup = new HashMap<Category, List<Item>>();
    itemLookup.put(drinks, Arrays.asList(water, pepsi));
    itemLookup.put(spreads, Arrays.asList(butter, margarine, mayonnaise));
  @Override
  public List<Category> getCategories() {
    return categories ;
  @Override
  public List<Item> getItemsByCategory(Category category) {
    return itemLookup.get(category);
}ItemTable.java
package itemtable;
import javafx.application.Application;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.scene.Scene;
import javafx.scene.control.ChoiceBox;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableColumn.CellDataFeatures;
import javafx.scene.control.TableView;
import javafx.scene.control.cell.PropertyValueFactory;
import javafx.scene.layout.BorderPane;
import javafx.stage.Stage;
import javafx.util.Callback;
public class ItemTable extends Application {
  @Override
  public void start(Stage primaryStage) {
    final DAO dao = new MockDAO();
    final ChoiceBox<Category> choiceBox = new ChoiceBox<Category>();
    choiceBox.getItems().setAll(dao.getCategories());
    final TableView<Item> table = new TableView<Item>();
    final TableColumn<Item, String> nameCol = new TableColumn<Item, String>("Name");
    nameCol.setCellValueFactory(new PropertyValueFactory<Item, String>("name"));
    final TableColumn<Item, Double> priceCol = new TableColumn<Item, Double>("Price");
    table.getColumns().addAll(nameCol, priceCol);
    choiceBox.getSelectionModel().selectedItemProperty()
        .addListener(new ChangeListener<Category>() {
          @Override
          public void changed(ObservableValue<? extends Category> observable, Category oldValue, Category newValue) {
            table.getItems().clear();
            priceCol.getColumns().clear();
            for (final Type type : newValue.getTypes()) {
              final TableColumn<Item, Number> col = new TableColumn<Item, Number>(type.getName());
              col.setCellValueFactory(new Callback<CellDataFeatures<Item, Number>, ObservableValue<Number>>() {
                @Override
                public ObservableValue<Number> call(CellDataFeatures<Item, Number> cellData) {
                  Item item = cellData.getValue();
                  if (item == null) {
                    return null;
                  } else {
                    return item.priceProperty(type);
              priceCol.getColumns().add(col);
            table.getItems().setAll(dao.getItemsByCategory(newValue));
    BorderPane root = new BorderPane();
    root.setTop(choiceBox);
    root.setCenter(table);
    Scene scene = new Scene(root, 600, 600);
    primaryStage.setScene(scene);
    primaryStage.show();
  public static void main(String[] args) {
    launch(args);
}

Similar Messages

  • How to create a hirarchy for this characteristic having lengh 50?

    Hi guru's
    I have a scenario like characteristic is having lengh 50.Now I want to create a hierarchy for this characteristic.
    But Hirarchy allows maximum lengh 32chrs only.
    So could you please let me know how to create a hirarchy for this characteristic having lengh 50?
    Thanks in advance
    Sivanand

    Isn't this the same question as here:
    Hi all, Have a problem, Please let me know urgently.
    Why the duplicate postings with different names??

  • How to create an object for this Question...

    i want to create an object to Factorial.java, but the class is in String object... how can i do that
    please help me with code how to create an object
    String str = Factorial.java;
    i tried to do like this
    str s1 = new str();
    this way is not working...
    thank u

    yes sir am trying to instantiate and retrieve the metadata, am a student am asked to do Program Analyzer, while fullfilling the application requirements i came across this situation, like i have to find total number of public methods in any source file that is entered as input.
    Am taking the input in String variable, i can have the details of the source class only of i instantiate and create an Object to that....
    Please suggest me some way to do that... JAVA is so interesting am working on the project since 2 weeks am done with all other classes but struck here finding the total number of methods...
    Thank you

  • How to create a constructor for this class?

    Hi everybody!
    I have an applet which loads images from a database.
    i want to draw the images in a textarea, so i wrote an inner class, which extends textarea and overrides the paint method.
    but everytime i try to disply the applet in the browser this happens:
    java.lang.NoClassDefFoundError: WohnungSuchenApplet$Malfl�che
         at java.lang.Class.getDeclaredConstructors0(Native Method)
         at java.lang.Class.privateGetDeclaredConstructors(Class.java:1590)
         at java.lang.Class.getConstructor0(Class.java:1762)
         at java.lang.Class.newInstance0(Class.java:276)
         at java.lang.Class.newInstance(Class.java:259)
         at sun.applet.AppletPanel.createApplet(AppletPanel.java:567)
         at sun.plugin.AppletViewer.createApplet(AppletViewer.java:1778)
         at sun.applet.AppletPanel.runLoader(AppletPanel.java:496)
         at sun.applet.AppletPanel.run(AppletPanel.java:293)
         at java.lang.Thread.run(Thread.java:536)
    so my class has no own constructor, it just has the paint method overwritten.
    my class looks like this:
    public class Malfl�che extends javax.swing.JTextArea{
    public void paint(Graphics g){
    Color grey=new Color(220,220,220);
    g.drawImage(img,10,10,null);
    how should a constructor for this class look like?
    sorry i am quite new to this, so i really dont have a clue!
    my class does not have any attributes or requires any so it doesnt need a constructor, doesnt it?
    thanks a lot
    tim

    If you have no constructor you cant instanciate (I know i just murdered that spelling) the object.
    Malfl�che thisHereThingie = new Malfl�che()assuming that you want to run that class by itself you will need a main method that has the preceeding code in it. If you are running it from another class you need to instanciate it... but anyway at the very least for a constructor you need.
    public Malfl�che(){

  • RethinkDB - how to create a PKGBUILD for this monster?

    Hi!
    After an interesting discussion on HackerNews about RethinkBD, I wanted to take a look for myself. Using it in Ubuntu (my work system) wasn't that bad, they build package for that one, and looked like something I might like to play with. But for that I'd wanted to have a package for my personal system running Arch, and there don't seem to be one.
    I did have a big bunch of packages before (not saying that they were any good, but have seen enough to know what might be relatively easy and what will be hard). When I checked out the build information, it just looks terrifying. The big list of dependencies is not that bad, but the other requires are nodejs, node libraries, ruby libraries, some of them are on AUR but orphaned and cannot be really relied on....
    Any suggestion how to get the bottom of this?

    Trilby wrote:Strictly speaking, your PKGBUILD only has to list the dependencies.  If the dependencies are broken, your PKGBUILD doesn't need to solve that.
    Thinking about it, I see your point, while I still feel that it's not the complete picture. That way I can make a package for myself, and using nvm/rvm for the missing packages, but e.g. then I couldn't really upload it to AUR or if I was, definitely someone would remove it because of being broken (and would be right about it.
    Trilby wrote:
    Of course it would be pointless to have a PKGBUILD that depended on something broken, but you should push those maintainers to fix their PKGBUILDs.
    Have you checked that those dependencies can't be satisfied by packages in the repos?  Nodejs, for example, is in [community] and rubygems is provided by ruby in [extra].  In fact, I don't see anything there that would not likely be provided by something in the main repos.
    EDIT: upon looking closer ruby_protobuf and coffee-script-git are aur-only, do those fail to build from the aur?
    Looking at things, they might need older nodejs version, coffee-script and their dependencies are in AUR, ruby_protobuf and ruby-less (and their dependencies) seem to be orphaned packages on AUR....

  • How to create process chain for this data flow

    Hi experts,
    My data flow is:
    ======================================
    2lis_11_vahdr->Transfer rules->2lis_11_vahdr->Update rules->DSO1->Transformation->DTP->Cube1.
    2lis_11_vaitm->Transfer rules->2lis_11_vaitm->Update rules->DSO1->Transformation->DTP->Cube1.
    ======================================
    2lis_12_vchdr->Transfer rules->2lis_12_vchdr->Update rules->DSO2->Transformation->DTP->Cube1.
    2lis_12_vcitm->Transfer rules->2lis_12_vcitm->Update rules->DSO2->Transformation->DTP->Cube1.
    ======================================
    2lis_13_vdhdr->Transfer rules->2lis_13_vdhdr->Update rules->DSO3->Transformation->DTP->Cube1.
    2lis_13_vditm->Transfer rules->2lis_13_vditm->Update rules->DSO3->Transformation->DTP->Cube1.
    ======================================
    Here for each datasource info package brings data upto dso and then from dso dtp fetches the data.
    For deltas i want to keep this data flow in process chain.
    Anyone please guide me how to keep this in a process chain.
    Full points will be assigned.
    Regards,
    Bhadri m.
    Edited by: Bhadri M on Sep 2, 2008 7:20 PM
    Edited by: Bhadri M on Sep 2, 2008 7:21 PM

    Hello,
    Sure it is possible to maintain that dataflow.
    Start here:
    This is a very good document about process chains:
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/8da0cd90-0201-0010-2d9a-abab69f10045
    Let me know if you have any doubts.
    Regards,
    Jorge Diogo

  • How to create more instances for this text game.  Help please!

    Hey guys, so far this code works great, but I'm trying to add more questions and answers to this and I'm having trouble doing that. I've tried using different methods and just going from method to another, but I can't seem to get it to work right. Should I be able to do it with different methods or is there another way I should be doing this?? I also want to add a score to this game as well. Adding points for each correct guess and I searched online trying to find a point to start, but couldn't quite get a hold on it. This is just something that would be cool to add, but isn't necessary if you don't think you can help me out. Thanks for checking this out and for the help!!
    public class TextShuffleGame
         private CinReader reader;
         public TextShuffleGame ()
              reader = new CinReader();
         public void go ()
              System.out.println("");
              System.out.println("Welcome to Text Shuffle.");
              int tries = 0;
              boolean correctGuess = false;
              while (correctGuess == false && tries < 5)
              System.out.println("What 6-letter word is made up from the letters \"dunops\"?");
              String guess3 = reader.readString();
              String answer3 = "pounds";
                        if (guess3.equalsIgnoreCase(answer3))
                             System.out.println("Hooray! You are correct!");
                             correctGuess = true;
                        else
                             System.out.println("Sorry, Try again!");
                             tries++;
              public static void main(String[] args)
              TextShuffleGame thisClass3 = new TextShuffleGame();
                   thisClass3.go();
    }

    If I understand you correctly, you want to add more words to the program. If so, then create an array or some other Collection to store a bunch of words. Then you need to randomly select a word from the list. Create another method to randomly shuffle the letters and display that instead of hardcoding it. Then when a user types a guess you compare it to the word in the list, once again instead of hardcoding it.

  • How to create the request for change of selection text into other language.

    Hi,
    In my object requirement is that when login through Japanese language,  then on selection screen selection text should appear in Japanese language. For that I have maintained the text in Japanese language the program where we define the selection text there from translation I have maintained the text in Japanese but while maintain the text it didn't ask me for REQUEST, because of that I am not able to transport the changes to next system, so I want know how to create the request for this case.
    Thanks

    Hello Chetan,
    You could goto the selection screen texts by goto-> selection texts,
    Then you could again goto -> Translation
    or
    Other-> Translation(Not sure )
    Then double click on the Program you should be able to see the Texts that need translation, now change something save and come back and try to activate, now it should propose for a new Transport Request.
    Either create a new transaport request or give one that you have given for the program.
    Hope the issue is resolved.

  • When trying to update  Apps in iTunes on my computer my old Apple ID appears, which is no longer in use and has no password; even when I try to create a password for this Old ID, Apple won't let me. When I go into see my Account settings My new Apple ID /

    When trying to update  Apps in iTunes on my computer my old Apple ID appears, which is no longer in use and has no password; even when I try to create a password for this Old ID, Apple won't let me. When I go into see my Account settings My new Apple ID / iTunes ID are listed and the passwords are correct obviously so why can't I update my Apps?   Why does my Old apple ID keep appearing and how can I get Apple to change this?

    I have the same problem - it is maddening. I rely on this iPad for work so this is not just an annoyance! The above solutions of changing the appleid on the device or on the website do not work.
    The old email address no longer exists - I haven't used it in a year probably and I no longer have the account.  I logged into the appleid website and there is no trace of the old email address so there is nothing that can be deleted or changed there.  On the iPad there is no trace of the old email address so nothing can be deleted there either. I have updated the iPad software and the same problem comes right back.  Every 2 seconds I am asked to log in using the old non-existent email.  The device is currently useless.
    The only recent change to anything was the addition of an Apple TV device, which was set up using the correct login and password.
    Does anyone have any ideas? The iPad has been backed up to the iCloud so presumably it now won't recognize the current iCloud account? So restoring may notbe an option?

  • How to create a macro for a planning type in MC8b transaction

    Hi,
    I am presently working for a product allocation demand, which have a information structiure with characteristic and key field.
    the characteristic are production allocation quantity, incoming order quantity, and open order quantity.
    i have created a planning type in which the data updation takes from the excel file to the planning type in mc95.
    but i need to create a macro for this planning type .
    can any body give the details information how to create a Macro for a planning type.
    Thanks and regards
    GopalKrishna

    Dear Gopal
    May be the link would be helpful to you.
    [Planning Types and Macros|http://help.sap.com/saphelp_46c/helpdata/en/a5/631cc443a211d189410000e829fbbd/frameset.htm]
    Drill down the left tab once you opened the link, for more information.
    Thanks
    G. Lakshmipathi

  • How to create one checksum for 264 vis

    Hi,
    How to create "one Checksum" for 264 Vis.These 264 Vis are Interlinked if i change code for any .vi the checksum Should be update.This checksum is shown on the main window.
    Regards
    Ravindranath
    Solved!
    Go to Solution.

    Here's a slightly simplified version (saved in 8.6).  There's no need for the Get/Set File Position.  The file position is already being incremented with the read.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines
    Attachments:
    Multiple File MD5 Checksum (Version 8.6).vi ‏23 KB

  • How to create new scope for SharePoint calendar?

    How to create new scope for SharePoint calendar?
    I have a calendar list to which I want to create following scopes-
    Annual View
    Half Year 1 (Jan-June)
    Half Year 2 (Jul-Dec)
    Quarter 1 (Jan-Mar)
    Quarter 2 (Apr-Jun)
    Quarter 3 (Jul-Sep)
    Quarter 4 (Oct-Dec)
    How this can be created. Any help appriciated. Thanks.

    Hi Pratima,
    Can you please see below link and code snippet for how to
     format date in gridview.
    http://www.aspdotnet-suresh.com/2011/05/how-to-set-date-format-in-gridview.html
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
    <title>Gridvew Date format</title>
    </head>
    <body>
    <form id="form1" runat="server">
    <div>
    <asp:GridView runat="server" ID="gvdetails" DataSourceID="dsdetails" AllowPaging="true" AllowSorting="true" AutoGenerateColumns="false">
    <RowStyle BackColor="#EFF3FB" />
    <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
    <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
    <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
    <AlternatingRowStyle BackColor="White" />
    <Columns>
    <asp:BoundField DataField="Date1" HeaderText="Date1" HtmlEncode="false" DataFormatString="{0:s}" />
    <asp:BoundField DataField="Date2" HeaderText="Date2" HtmlEncode="false" DataFormatString="{0:D}" />
    <asp:BoundField DataField="Date3" HeaderText="Date3" HtmlEncode="false" DataFormatString="{0:m}" />
    <asp:BoundField DataField="Date4" HeaderText="Date4" HtmlEncode="false" DataFormatString="{0:d}" />
    <asp:BoundField DataField="Total" HeaderText="Total" HtmlEncode="false" DataFormatString="{0:C2}" />
    </Columns>
    </asp:GridView>
    <asp:SqlDataSource ID="dsdetails" runat="server" SelectCommand="select * from DateFormat" ConnectionString="<%$ConnectionStrings:dbconnection %>"></asp:SqlDataSource>
    </div>
    </form>
    </body>
    </html>
    Hope this will help you.
    Regards
    Soni K

  • How to create transaction code for maintenance view

    hai friends,
    i hope every thing goes good.
    i have doubt, how to create transaction code for maintenance view. I created view for tranperant table and now i want to create transaction code for the view.
    i tried and i donot know the screen number and program name and where can i give the view name.
    if any one know please post in details.
    thanks in advance.

    Hi Elam,
    You need to create a "Parameter Transaction".
    What this means is that you will have a transaction (let's call it "ZMAINT") which calls "SM30" and passes in your table name.
    Go to transaction SE93 and enter your new transaction code. Enter in the Tcode description and choose "Transaction with Parameters" (it shouldbe the last radio button).
    Enter in the default transaction "SM30" and tick the "Skip Initial Screen" check box. Hit Enter.
    Now scroll to the bottom of the screen and you will see a Table Control where you will need to enter in the values to the SM30 selection screen.
    Because you hit ENTER, the program will have loaded in the Selection Screen parameters into it's memory. Hit the drop down for "Name of Screen Field" and select "VIEWNAME" and then enter in your Z Table in the "Value" column.
    Now go to the next line and hit the drop down and select "UPDATE" in the "Name of Screen Field". Enter in a "X" in the value column.
    Now save the transaction and there you have it.
    Hope this helps.
    Cheers,
    Pat.
    PS. Kindly assign Reward Points to the posts you find helpful.

  • How to create a substitute for requester in SRM 7.0

    Hi,
    do you know how to create a substitute for requester?
    we have groups of 2 people and we want that they can see and edit shopping carts one of each other. Do you know how is it possible? it will be necessary for all SCs.
    Thanks.
    Regards,
    Nelson

    You can use the "Team Cart" feature introduced in SRM 7 for your requirement.
    Take a look at this wiki page for more information http://wiki.sdn.sap.com/wiki/display/SRM/Team+purchasing
    Edited by: Jay Yang on Mar 31, 2011 10:47 AM

  • How to create internal table for a structure in BSP

    hi ,
    I have created a Structure in BSP.I want to create an internal table for that Structure. But in my coding ie.
    <% data: begin of itab_1 .
                     include type zuvendstr.
                     data:end of itab_1.
                     data wa_str like line of itab_1.
                     loop at itab_1 into wa_str. %>
                    <tr>
                     <td><%=wa_str-name%> </td>
                           <%endloop.%>
    In this zuvendstr is Structure ,wa_str is workarea and itab_1 is an Internal table.But it is showinng an error that itab_1 is unknown.But we cannot define internal tables for an Structure in Page Attributes.So,please resolve how to create internal table for Structure in BSPS

    Hi,
    You can define itab_1 like this (assuming zuvendstr is a structure type):
    DATA: itab_1 TYPE TABLE OF zuvendstr.
    Regards,
    Tanguy

Maybe you are looking for