Implementing a table

I need to have a static data structure inside my aplication. So, I'm trying to implement a class that simulates the behaviour of a table, with all its methods, like 'addRow', 'delRow'. A structure a little like a Recordset object in other languages, but not connected to any database, only the structure with methods and properties. I really believe that someone in the world has already done that. Does anyone know if it really exists and where i can get it? Thanks a lot.

I got it. I finally got to have it implemented. In case somebody should need it, here it goes:
     Classe que implementa ResultSet offline
     Esta classe serve como um objeto ResultSet offline. Isso quer dizer que o usu�rio
     poder� instanciar um objeto desta classe, fechar a conex�o com o banco de dados e
     continuar acessando o conte�do do ResultSet fechado com a conex�o.
Depois de compilado, copiar este arquivo para D:\j2sdk1.4.0\lib\tabela
package tabela;
import java.lang.*;
import java.util.*;
import java.sql.*;
public class rstOff {
     //Vari�vel que guarda a quantidade de colunas existentes no ResultSet
     private int numberOfColumns;
     //Vari�vel que guarda o n�mero de linhas existentes no ResultSet
     private int numberOfRows = 0;
     //Vari�vel que guarda a linha ativa do rstOff
     private int POS;
     //Este array de vetor � a tabela onde ficar�o guardados os campos do ResultSet
     private Vector[] vcBase;
     public rstOff(ResultSet rst) {          
//          int numberOfRows;
          try {
               //Descobre o n�mero de campos que o ResultSet possui
               numberOfColumns = getNumOfColumns(rst);
               System.out.println("N�mero de colunas igual a " + numberOfColumns);
               //Inicializa a tabela para a qual o ResultSet ser� copiado
               inicializa();
               //Faz a c�pia de todos os campos do ResultSet para a tabela inicializada
               copia(rst);
               POS = 0;
          } catch(Exception e) {
     public rstOff() {
          numberOfColumns = 4;
          inicializa();
          for(POS=0;POS<2;POS++) {
               vcBase[0].add(POS, "a" + POS);
               vcBase[1].add(POS, "b" + POS);
               vcBase[2].add(POS, "c" + POS);
               vcBase[3].add(POS, "d" + POS);
          POS=0;
          System.out.println(POS);
     //Inicializa as vari�veis globais
     private void inicializa() {
          //Inicializa a vari�vel que percorre o ResultSet com 0
          POS = 0;
          //Define o tamanho do array de vetores
          vcBase = new Vector[numberOfColumns];
          //Instancia cada um Vector em cada uma das posi��es do array de vetores
          for(int count = 0;count<numberOfColumns;count++) {
               vcBase[count] = new Vector();
//               vcBase[count].add("Deu certo");
          System.out.println("Objeto instanciado");
     //Copia todos os campos do ResultSet para a tabela offline
     private void copia(ResultSet rstCopia) throws SQLException {
          //Move o cursor do ResultSet para antes da primeira linha porque
          //ser� utilizado o m�todo next()
          rstCopia.beforeFirst();
          //Percorre todas as linha do ResultSet com o m�todo next()
          while(rstCopia.next()) {
//               System.out.println("O numero de linhas e " + numberOfRows);
               numberOfRows++;
               //Percorre todas as colunas do ResultSet dentro da mesma linha
               for(int j=0;j<numberOfColumns;j++) {
                    //Faz a c�pia de cada campo na linha para a tabela offline
                    //O m�todo add insere o elemento na �ltima posi��o automaticamente
                    //Como se fosse "vcBase[j].add(ULTIMAPOSICAO, rstCopia.getObject(j));"
//                    System.out.println(rstCopia.getObject(j+1));
                    vcBase[j].add(rstCopia.getObject(j+1));
          System.out.println("N�mero de linhas igual a " + numberOfRows);
     //Recebe o ResultSet como par�metro e devolve a quantidade de colunas do ResultSet
     private int getNumOfColumns(ResultSet rstNumOfColumns) throws SQLException {
          ResultSetMetaData rsmd = rstNumOfColumns.getMetaData();
          return rsmd.getColumnCount();
     //Recebe a coluna da linha ativa e retorna o valor
     public Object getValue(int column) {
//          System.out.println(POS);
          return vcBase[column].get(POS);
     public boolean next() {
          if(POS<numberOfRows) {
               POS++;
               return true;
          } else {
               return false;     
     public boolean previous() {
          if(POS>-1) {               
               POS--;
               return true;
          } else {
               return false;     
     public boolean first() {
          POS = 0;
          return true;     
     public boolean last() {
          POS = numberOfRows-1;
          return true;     
     public boolean beforeFirst() {
          POS = -1;
          return true;
     public boolean afterLast() {
          POS = numberOfRows;
          return true;
     public int rowCount() {
          return numberOfRows;
     public int columnCount() {
          return numberOfColumns;
     public int absolutePosition() {
          return POS;
Any questions, email me: [email protected]
Thanks for everything.

Similar Messages

  • Implementing Hash tables with chaining.

    Hi, I'm in a Java data structures class right now and we have a program to do using hash tables. I've read about hash tables and chaining but does anyone know where i can find some examples of code that implement hash tables using chaining. It's all very confusing to me without seeing how it is used in a program.
    To give you an idea of what we're doing, the assignment is to create a word processor that looks thru a file and adds different words to the table and also counts how many of each word there is in that file. Keep in mind I'm not asking for the code to this assignment just for some example of how coding hash tables/chaining works.

    Simple and probably not complete overview:
    Suppose you have an array in which you will store objects.
    You take an object, and find a "hash code" for it. You then restrict the hash code in to the range of your array. This gives you the index where you can store your object.
    But what if another object is already present at that index?
    Different solutions to this exist - such as re-hashing. One solution is "chaining". Instead of storing the object directly at the hashed index - you store a list of objects which hashed to the same location.
    When you do a lookup, you first get your hash. You then look at the corresponding location in the array. If you find a list rather than the required object, you walk along the list until you find the object you are looking for.
    Of course, with a small array and bad hash distribution, the performance of this solution can degrade fairly quickly.
    BTW, in the real world, just use one of the ready made collections in java.util.

  • Help on an Efficient Way for Implementing Production Tables Modifications?

    Hey Y'all SQL Gurus,
    We have two tables (I would call Tab1 and Tab2 here). Tab1 contains social security number(SS#) and Emp_ID information while Tab2 has only SS#. Tab2 is a large table containing about 600k rows, and there is no primary key. Table1 has EMP_ID as Primary Key and SS# with 'Not Null' attribute.
    Currently, my task is to eliminate all SS# information from our dB. So, I want to add EMP_ID and eliminate SS# in Tab2, and then set all SS# column of Tab1 to NULL. To date, I have developed the following 2 options to implement this task in Production, and I need your input to choose one of these options and/or any other option(s) or thoughts if any:
    Option #A:
    A.1. Run the following sql to replace SS# of Tab2 with EMP_ID found from Tab1:
    Update Tab2 set SS# = (select Tab1.emp_id from Tab1 where Tab1.SS# = Tab2.SS#);A.2. Alter Tab1 to change attribute for SS# as Null instead of Not Null;
    A.3. Set SSN# of Tab1 to Null.
    Option #B:
    B.1 Add a new column called ‘EMP_ID’ to Tab2;
    B.2 Run the following sql to set ‘EMP_ID’ of Tab2 with EMP_ID found from Tab1:
    Update Tab2 set EMP_ID = (select Tab1.emp_id from Tab1 where Tab1.SS# = Tab2.SS#);B.3 Delete the SS# column and data from Tab2;
    B.4 Alter Tab1 to change attribute for SS# to Null instead of Not Null;
    B.5. Set SSN# of Tab1 to Null.
    I, of course, will test both options in my test area before implementing the changes in Production. But, I just want to make sure that I have not overlooked anything and if there is any other thoughts, concerns and/or suggestions you might have.
    Thanks a lot for any/all the help you could provide on this.

    Thanks for your questions, thoughts and suggestion:
    You wrote:
    I would never go for Option A as you end up with having the EMPID in the SS# field of tab2 right?Why not? The SS# field and column name of Tab2 will be replaced with EMP_ID and 'EMPID' column name. Essentially, Tab2 will include the EMP_ID along with all the leave information associated with the employee.
    You wrote:
    In Option B the UPDATE might fail if you have duplicates on the SS#. I hope not because Emp_id is a primary key of Tab1 and theoretically should only mapped to one ss#. Sure, there could be some data entry error with duplicate SS# used for more than one emp id. I am not sure if I would receive an error message when that situation occurs. Good thinking.
    You wrote:
    B.4 Alter Tab1 to change attribute for SS# to Null instead of Not Null;
    B.5. Set SSN# of Tab1 to Null.
    Why not just DROPing that field?Good suggestion, but our user would like to keep the field for the future use, just in case.
    Thanks again.

  • How to implement a table of ordered data ?

    This is surely a very common question of database design.
    Let us say that I am doing a web picture gallery, where I want the pictures to appear in a specific order. I am keeping the reference of the image files in a table, and I specifically want to be able to add a new picture between any two consecutive existing pictures. Nice to have would be a fast way to move a picture to another place, and support for concurrent access.
    After some tries, my best solution seemed to be something like the following, but I suspect that it is still sub-optimal :
    CREATE TABLE pics(
    picid NUMBER PRIMARY KEY,
    filename VARCHAR2(50),
    ordernum NUMBER(38,10) UNIQUE
    CREATE SEQUENCE pics_picid_seq;
    CREATE SEQUENCE pics_ordernum_seq;
    And I populate the table by using both sequences when I add the picture at the end of the list, or by calculating the ordernum as the average between the ordernums of the two pictures between which I want to insert the new picture (saying that the -1th picture has order 0).
    Two drawbacks of this implementation :
    - It looks like from two concurrent inserts at the same place, one will fail to the unique constraint.
    - If a very very large number of pics can be inserted or moved, I may have to create a trigger locking the table and recalculating the ordernums (well that is probably the case only for huge examples).
    So what is the best solution here if concurrency support is most important ? What if insert/update speed is most important ? What if "select order by" speed is most important ? Any other criteria ?

    I don't expect rows to be stored in any perticular order Ooops! early Monday morning misreading of your original post. My apologies.
    In your solution, isn't the full table update an issue when inserting pictures at place 1 ?Well , your solution will produce a duplicate ORDERNUM in that instance, or any other instance (hint, to make averaging work you'll need to store fractions).
    Yes, my eary monday morning solution may suffer poor performance if you have lots of pictures and you re-organise them a lot. It will produce prettier values for ORDERNUM, which may be helpful if you need to display it to users, but this is probably not sufficient to save my implementation.
    But if you are using averages of sequences it will be even more important to use a table API. The pictures in the twenty-fifth and twenty-sixth positions might have ORDERNUM values of 19.5 and 20 respectively or - sequence caching being what it is - 134 and 137. This may be hard for users to understand. You will need to translate offset from 1 into ORDERNUM (I guess by using ROWNUM, which is not without pitfalls).
    Will transactions ensure that the picture of user B won't get inserted one place before where it should ? Concurrency is a big issue. Potentially, any user inserting a single picture is affecting the whole collection. (There's also the situation where no new pictures get added but the entire collection is re-ordered). We could make an argument that the whole table ought to be locked before anything gets done. However, full table locks are usually undesirable.
    One way around this is to make the users specify the picture IDs they want the new picture to appear between, rather than place. This has the advantage of being independent of prior changes, unless the prior change also inserted a picture between 25 and 26, in which case it should fail.
    I suppose there probably is a canonical design solution out there, I hope someone else knows where to find it.
    Cheers, APC

  • How to implement fact tables with finest level of detail (fine-grained)?

    Hi,
    Maybe this is basic knowledge what I'm asking here... I don't know, well, here it goes:
    I need to know the way carry my transactional data to a fact table, but keeping the finest level of detail possible (namely, the transactions). I implemented my cubes with MOLAP option for storage (those were the specs that I had to follow) so I can't add a unique constraint to those structures.
    I only seem to be able to load aggregated, precomputed data. If I wanted to load the transactions (after the data has been transformed and clenased) where should I do it?
    I tried to implement a version of the fact tables as ROLAP but got nowhere (I couldn't add a unique constraint or index on that column either).
    I would really, really appreciate your help.
    Best Regards,
    osvaldo.
    [osantos]

    Hi Veeravalli,
    Thanks for your reply :)
    Let me explain the problem in more detail. I have one Date dimension(Date_Code,Month_Code,Quarter_Code,Half_Year_Code,Year_Code). Here Date_Code is the PK.
    In F1---->Date (Using Month_Code key)
    F2-------->Date (Using Date_Code Key)
    Level based hierarchy is there starting from Year to Date.Each level has PK defined and chronological key selected.
    F1 has level set to Month and F2 has level set to Day.
    Now if i am using ago() function on measure of F2 (having day level data) then it's working fine but if i am using ago() function on measure of F1...I am getting an error at Presentation service: Date_code must be projected for time-series functions.
    So the whole issue is with time-series functions. As per my research...I think for time series the tables in the physical model containing the time dimension cannot join to other data sources, except at the most detailed level but here i am joining with F1(using Month_Code which is not the most detailed level).
    So kindly let me know how to achieve this in rpd?

  • Implementing Pivot Table like functionality using SQL

    Dear All,
    Please access a online document:
    http://docs.google.com/View?docid=dhntd3vh_0gmwgmq
    A 'query-output' is given.
    I have pasted this output in Excel and using it's Pivot table feature
    obtained an output given as 'Expected-Output' in the document.
    How can I achieve this using SQL?
    Any guidelines are most welcome.
    -Sameer

    See if this implementation could satisfy your needings.
         CREATE THE A TABLE WITH ESSENTIAL INFORMATION
    CREATE TABLE THINGS (
         WHO     VARCHAR2(32) NOT NULL,
         WHAT VARCHAR2(32) NOT NULL,
         NUM NUMBER
         FILLING THE ESSENTIAL INFORMATION
    INSERT INTO THINGS VALUES ('AFAS','TRANSACTION',4);
    INSERT INTO THINGS VALUES ('FAS-AP','TRANSACTION',2);
    INSERT INTO THINGS VALUES ('FAS-AR','TRANSACTION',2);               
    INSERT INTO THINGS VALUES ('FAS-GL','MASTER',3);
    INSERT INTO THINGS VALUES ('FAS-GL','REPORT',5);
    INSERT INTO THINGS VALUES ('INTERNATIONAL CARGO','MASTER',1);
    INSERT INTO THINGS VALUES ('INTERNATIONAL CARGO','REPORT',2);
    INSERT INTO THINGS VALUES ('INTERNATIONAL CARGO','TRANSACTION',9);
    INSERT INTO THINGS VALUES ('PACKAGE EXPRESS','INTELLIVIEW REPORT',1);
    INSERT INTO THINGS VALUES ('PACKAGE EXPRESS','MASTER',4);
    INSERT INTO THINGS VALUES ('PACKAGE EXPRESS','TRANSACTION',76);
    INSERT INTO THINGS VALUES ('PACKAGE EXPRESS','UTILITIES',1);
    INSERT INTO THINGS VALUES ('WAREHOUSE','REPORT',1);
    INSERT INTO THINGS VALUES ('WAREHOUSE','TRANSACTION',9);
         CREATE A TABLE FOR THE FULL CORRISPONDENCE
    CREATE TABLE THINGS2 AS
         SELECT A.WHO,B.WHAT, 0 NUM
         FROM (
              SELECT DISTINCT WHO
              FROM THINGS
         ) A, (
              SELECT DISTINCT WHAT
              FROM THINGS
         )B;
         SET THE RIGHT VALUES ON EACH ROW
    UPDATE THINGS2 A
    SET NUM = (
         SELECT NVL(SUM(NUM),0)
         FROM THINGS B
         WHERE ( A.WHO = B.WHO )
              AND ( A.WHAT = B.WHAT )
         SHOW THE FULL TABLE ( FULL BECAUSE IT CONTAINS THE FULL JOIN BETWEEN "WHO" AND "WHAT" )
    SELECT *
    FROM THINGS2
         RETRIVE THE EXPECTED OUTPUT
    SELECT A.WHO,"TRANSACTION","MASTER","INTELLIVIEW REPORT","UTILITIES"
    FROM (
         SELECT WHO,NUM "TRANSACTION"
         FROM THINGS2
         WHERE WHAT = 'TRANSACTION'
    ) A,(
         SELECT WHO,NUM "MASTER"
         FROM THINGS2
         WHERE WHAT = 'MASTER'
         ) B,(
         SELECT WHO,NUM "REPORT"
         FROM THINGS2
         WHERE WHAT = 'REPORT'
         ) C,(
         SELECT WHO,NUM "INTELLIVIEW REPORT"
         FROM THINGS2
         WHERE WHAT = 'INTELLIVIEW REPORT'
         ) D,(
         SELECT WHO,NUM "UTILITIES"
         FROM THINGS2
         WHERE WHAT = 'UTILITIES'
         ) E
    WHERE ( A.WHO = B.WHO )
         AND ( A.WHO = C.WHO )
         AND ( A.WHO = D.WHO )
         AND ( A.WHO = E.WHO );
    Ps.
    Could anybody tell me how is it possible to indent text on the board of this forum?
    Bye Alessandro

  • Implement a table menu using ALV

    Hi,
    I was wondering if its possible to implement a standard sap table menu bar into WDA using ALV?
    is there a doc that explains that?
    I'm looking for something similar to this
    [screenshot|http://www.mypicx.com/02202009/menubar/]
    Thanks in advance.

    what sort of program do use data structure? let's say
    i want to use binary search on data , how can i?As nasch said: pretty much any program uses data structures.
    Okay, let's say you want to try binary search. You could do that on an array, on a singly linked list, on a doubly linked list, probably on others that I can't think of right now.
    If you just want practice using the data structures you've learned, then why not write a binary search over several different ones? That will give you a feel for how they differ in usage and performance.
    Or, you can just pick any kind of program that interests you. Unless it's trivially small and simple, there will probably be a use for one or more of the data strux you've learned.
    A chat program needs data structures to hold curently connected users, ongoing conversations, maybe a queue for messages waiting to be sent.
    A card game needs to be able to search to see if a given card is in a given hand. Needs to hold all the cards in a deck that has to be shuffled. Dealing is like popping off a stack.
    A database of students and their courses might want to keep something in an ordered tree--by last name for instance.
    What applications interest you?

  • How to implement af:table filter with java backend?

    Hi,
    One of the af:table feature is to have a filter over its column to filter data. I want to implement this feature, however I'm not able to find documentation or example for it.
    We use plain java as backend (i.e. not using ADF BC) and most of the documentation and examples over the net are with ADF BC.
    Have you done or come across an example of similar implementation before?
    Thanks for the help.

    Hi,
    You can implement your own filters by adding a "filter" facet to your af:column.
    http://jdevadf.oracle.com/adf-richclient-demo/docs/tagdoc/af_column.html
    Regards,
    Stijn
    http://webapplicationdeveloper.blogspot.com

  • How to implement static tables in XI Mapping

    I need to use a static table for lookup purposes in an XI mapping. I am using Java Mapping.
    -- This is a small  5 columns - 264 rows table, which is unlikely to be changed.

    Hi,
    U can maintained table in Xi and use the RFC lookup from graphical mapping this will avoid use of graphical mapping.
    Refer the below weblog for more infor:
    •     RFC lookup using JCO (without communication channel)
          /people/sravya.talanki2/blog/2005/12/21/use-this-crazy-piece-for-any-rfc-mapping-lookups
    •     RFC lookup with communication channel.
                     /people/alessandro.guarneri/blog/2006/03/27/sap-xi-lookup-api-the-killer
    Thnx
    Chirag

  • How to implement af:table for Grid Entry screen

    Hi, I am using JDevelper 11.1.1.3g.
    I have a requirement in which i have to show a dataentry screen in Grid format.Below is my requirement.
    I want to make a dataentry screen in Grid format. I want to show a table component which will have many rows and each row will be like an Individual employee record when i save. Each row will have employee name as inputText and Department as LOV and Age as inputText components.
    When the user clicks on the SAVE button, i want all the employees the user has added in the row format inside the table should be saved in Employees table as each single employee record.
    More over i want to have an option in the screen to give the user flexibility to add more rows in the table at Runtime to add more row. Eg. When the page loads i want initially 10 empty rows to be displayed by default. But when the user clicks on add more rows, 5 more rows should be added at Runtime to this table.
    Please Please guide me on how can i achieve this screen functionality.
    Any reference would be a great help.
    Zeeshan

    ..................BELOW IS THE SOURCE OF MY JSP PAGE.........................
    <?xml version='1.0' encoding='UTF-8'?>
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:af="http://xmlns.oracle.com/adf/faces/rich">
    <jsp:directive.page contentType="text/html;charset=UTF-8"/>
    <f:view>
    <af:document id="d1" binding="#{backingBeanScope.backing_GridDataEntry.d1}">
    <af:messages binding="#{backingBeanScope.backing_GridDataEntry.m1}"
    id="m1"/>
    <af:form id="f1" binding="#{backingBeanScope.backing_GridDataEntry.f1}">
    <af:panelCollection binding="#{backingBeanScope.backing_GridDataEntry.pc1}"
    id="pc1">
    <f:facet name="menus"/>
    <f:facet name="toolbar">
    <af:toolbar binding="#{backingBeanScope.backing_GridDataEntry.t2}"
    id="t2">
    <af:commandToolbarButton actionListener="#{bindings.Delete.execute}"
    text="Delete"
    disabled="#{!bindings.Delete.enabled}"
    binding="#{backingBeanScope.backing_GridDataEntry.delete}"
    id="delete" partialTriggers="t1"/>
    <af:commandToolbarButton actionListener="#{bindings.Rollback.execute}"
    text="Rollback"
    disabled="#{!bindings.Rollback.enabled}"
    immediate="true"
    binding="#{backingBeanScope.backing_GridDataEntry.ctb2}"
    id="ctb2">
    <af:resetActionListener/>
    </af:commandToolbarButton>
    <af:commandToolbarButton actionListener="#{bindings.Commit.execute}"
    text="Commit"
    disabled="#{!bindings.Commit.enabled}"
    binding="#{backingBeanScope.backing_GridDataEntry.ctb1}"
    id="ctb1"/>
    <af:commandToolbarButton actionListener="#{bindings.CreateInsert.execute}"
    text="CreateInsert"
    disabled="#{!bindings.CreateInsert.enabled}"
    binding="#{backingBeanScope.backing_GridDataEntry.createInsert}"
    id="createInsert" partialTriggers="t1"/>
    </af:toolbar>
    </f:facet>
    <f:facet name="statusbar"/>
    <af:table value="#{bindings.CaseDetlVOUPD1.collectionModel}" var="row"
    rows="#{bindings.CaseDetlVOUPD1.rangeSize}"
    emptyText="#{bindings.CaseDetlVOUPD1.viewable ? 'No data to display.' : 'Access Denied.'}"
    fetchSize="#{bindings.CaseDetlVOUPD1.rangeSize}"
    rowBandingInterval="0"
    selectedRowKeys="#{bindings.CaseDetlVOUPD1.collectionModel.selectedRow}"
    selectionListener="#{bindings.CaseDetlVOUPD1.collectionModel.makeCurrent}"
    rowSelection="single"
    binding="#{backingBeanScope.backing_GridDataEntry.t1}"
    id="t1" editingMode="clickToEdit"
    partialTriggers="::delete ::createInsert ::ctb2 ::ctb1">
    <af:column sortProperty="CaseNo" sortable="false"
    headerText="#{bindings.CaseDetlVOUPD1.hints.CaseNo.label}"
    id="c4">
    <af:inputText value="#{row.bindings.CaseNo.inputValue}"
    label="#{bindings.CaseDetlVOUPD1.hints.CaseNo.label}"
    required="#{bindings.CaseDetlVOUPD1.hints.CaseNo.mandatory}"
    columns="#{bindings.CaseDetlVOUPD1.hints.CaseNo.displayWidth}"
    maximumLength="#{bindings.CaseDetlVOUPD1.hints.CaseNo.precision}"
    shortDesc="#{bindings.CaseDetlVOUPD1.hints.CaseNo.tooltip}"
    id="it3">
    <f:validator binding="#{row.bindings.CaseNo.validator}"/>
    </af:inputText>
    </af:column>
    <af:column sortProperty="Name" sortable="false"
    headerText="#{bindings.CaseDetlVOUPD1.hints.Name.label}"
    id="c6">
    <af:inputText value="#{row.bindings.Name.inputValue}"
    label="#{bindings.CaseDetlVOUPD1.hints.Name.label}"
    required="#{bindings.CaseDetlVOUPD1.hints.Name.mandatory}"
    columns="#{bindings.CaseDetlVOUPD1.hints.Name.displayWidth}"
    maximumLength="#{bindings.CaseDetlVOUPD1.hints.Name.precision}"
    shortDesc="#{bindings.CaseDetlVOUPD1.hints.Name.tooltip}"
    id="it6">
    <f:validator binding="#{row.bindings.Name.validator}"/>
    </af:inputText>
    </af:column>
    <af:column sortProperty="IdType" sortable="false"
    headerText="#{bindings.CaseDetlVOUPD1.hints.IdType.label}"
    id="c7">
    <af:inputText value="#{row.bindings.IdType.inputValue}"
    label="#{bindings.CaseDetlVOUPD1.hints.IdType.label}"
    required="#{bindings.CaseDetlVOUPD1.hints.IdType.mandatory}"
    columns="#{bindings.CaseDetlVOUPD1.hints.IdType.displayWidth}"
    maximumLength="#{bindings.CaseDetlVOUPD1.hints.IdType.precision}"
    shortDesc="#{bindings.CaseDetlVOUPD1.hints.IdType.tooltip}"
    id="it2">
    <f:validator binding="#{row.bindings.IdType.validator}"/>
    </af:inputText>
    </af:column>
    <af:column sortProperty="IdNo" sortable="false"
    headerText="#{bindings.CaseDetlVOUPD1.hints.IdNo.label}"
    id="c2">
    <af:inputText value="#{row.bindings.IdNo.inputValue}"
    label="#{bindings.CaseDetlVOUPD1.hints.IdNo.label}"
    required="#{bindings.CaseDetlVOUPD1.hints.IdNo.mandatory}"
    columns="#{bindings.CaseDetlVOUPD1.hints.IdNo.displayWidth}"
    maximumLength="#{bindings.CaseDetlVOUPD1.hints.IdNo.precision}"
    shortDesc="#{bindings.CaseDetlVOUPD1.hints.IdNo.tooltip}"
    id="it1">
    <f:validator binding="#{row.bindings.IdNo.validator}"/>
    </af:inputText>
    </af:column>
    <af:column sortProperty="CourtCdCan" sortable="false"
    headerText="#{bindings.CaseDetlVOUPD1.hints.CourtCdCan.label}"
    id="c3">
    <af:inputText value="#{row.bindings.CourtCdCan.inputValue}"
    label="#{bindings.CaseDetlVOUPD1.hints.CourtCdCan.label}"
    required="#{bindings.CaseDetlVOUPD1.hints.CourtCdCan.mandatory}"
    columns="#{bindings.CaseDetlVOUPD1.hints.CourtCdCan.displayWidth}"
    maximumLength="#{bindings.CaseDetlVOUPD1.hints.CourtCdCan.precision}"
    shortDesc="#{bindings.CaseDetlVOUPD1.hints.CourtCdCan.tooltip}"
    id="it7">
    <f:validator binding="#{row.bindings.CourtCdCan.validator}"/>
    </af:inputText>
    </af:column>
    <af:column sortProperty="CourtLetterNo" sortable="false"
    headerText="#{bindings.CaseDetlVOUPD1.hints.CourtLetterNo.label}"
    id="c1">
    <af:inputText value="#{row.bindings.CourtLetterNo.inputValue}"
    label="#{bindings.CaseDetlVOUPD1.hints.CourtLetterNo.label}"
    required="#{bindings.CaseDetlVOUPD1.hints.CourtLetterNo.mandatory}"
    columns="#{bindings.CaseDetlVOUPD1.hints.CourtLetterNo.displayWidth}"
    maximumLength="#{bindings.CaseDetlVOUPD1.hints.CourtLetterNo.precision}"
    shortDesc="#{bindings.CaseDetlVOUPD1.hints.CourtLetterNo.tooltip}"
    id="it4">
    <f:validator binding="#{row.bindings.CourtLetterNo.validator}"/>
    </af:inputText>
    </af:column>
    <af:column sortProperty="SrlNo" sortable="false"
    headerText="#{bindings.CaseDetlVOUPD1.hints.SrlNo.label}"
    id="c5">
    <af:inputText value="#{row.bindings.SrlNo.inputValue}"
    label="#{bindings.CaseDetlVOUPD1.hints.SrlNo.label}"
    required="#{bindings.CaseDetlVOUPD1.hints.SrlNo.mandatory}"
    columns="#{bindings.CaseDetlVOUPD1.hints.SrlNo.displayWidth}"
    maximumLength="#{bindings.CaseDetlVOUPD1.hints.SrlNo.precision}"
    shortDesc="#{bindings.CaseDetlVOUPD1.hints.SrlNo.tooltip}"
    id="it5">
    <f:validator binding="#{row.bindings.SrlNo.validator}"/>
    <af:convertNumber groupingUsed="false"
    pattern="#{bindings.CaseDetlVOUPD1.hints.SrlNo.format}"/>
    </af:inputText>
    </af:column>
    <af:column sortProperty="UserId" sortable="false"
    headerText="#{bindings.CaseDetlVOUPD1.hints.UserId.label}"
    id="c8">
    <af:inputText value="#{row.bindings.UserId.inputValue}"
    label="#{bindings.CaseDetlVOUPD1.hints.UserId.label}"
    required="#{bindings.CaseDetlVOUPD1.hints.UserId.mandatory}"
    columns="#{bindings.CaseDetlVOUPD1.hints.UserId.displayWidth}"
    maximumLength="#{bindings.CaseDetlVOUPD1.hints.UserId.precision}"
    shortDesc="#{bindings.CaseDetlVOUPD1.hints.UserId.tooltip}"
    id="it8">
    <f:validator binding="#{row.bindings.UserId.validator}"/>
    </af:inputText>
    </af:column>
    <af:column sortProperty="CreatedDt" sortable="false"
    headerText="#{bindings.CaseDetlVOUPD1.hints.CreatedDt.label}"
    id="c9">
    <af:inputDate value="#{row.bindings.CreatedDt.inputValue}"
    label="#{bindings.CaseDetlVOUPD1.hints.CreatedDt.label}"
    required="#{bindings.CaseDetlVOUPD1.hints.CreatedDt.mandatory}"
    shortDesc="#{bindings.CaseDetlVOUPD1.hints.CreatedDt.tooltip}"
    id="id1">
    <f:validator binding="#{row.bindings.CreatedDt.validator}"/>
    <af:convertDateTime pattern="#{bindings.CaseDetlVOUPD1.hints.CreatedDt.format}"/>
    </af:inputDate>
    </af:column>
    </af:table>
    </af:panelCollection>
    </af:form>
    </af:document>
    </f:view>
    <!--oracle-jdev-comment:auto-binding-backing-bean-name:backing_GridDataEntry-->
    </jsp:root>

  • Implementing "Temporary Tables" in Oracle after migrating from SQL Server

    Hello,
    Some stored procedures referencing temporary tables in SQL Server were migrated to Oracle. In the Oracle DB, these stored procedures are invalid. In a bid to make them valid, I created the referenced temporary tables in my Oracle DB, via SQL*PLUS having logged into the database as the appropriate user. And when I query the user_tables view, I see the temporary tables that I created. Thereafter, when I compile the stored procedures, I still get the message: PL/SQL: ORA-00942: table or view does not exist. And the stored procedures remain invalid. Pls,what do I do ?
    Thanks for your cooperation

    Chux,
    The Migration Workbench should have created all the necessary temporary tables as part of the process to convert the stored procedures. Can you post the example part of the T/SQL stored procedure and what we converted it to?
    Our support for Temporary Tables is discussed in our reference guide.
    http://download-west.oracle.com/docs/html/B10254_01/ch5.htm#1026115
    Donal

  • How to implement attachment table in create page

    Hi
    I tried to add an attachment table in create page,but the table is not appearing.
    Is it because that the primary key attribute mapped to attachment table is committed only after clicking submit button in create page?.
    I am using a sequence for primary key.
    Thanks,
    Sridharan

    Hi ,
    Please see following post in forum
    Attachment table is not appearing in the page.
    Thanks ,
    Ashish

  • How to implement authorisation on table columns

    Can anyone suggest a smart way to use Weblogic platform capabilities to implement
    a table column security/authorisation "control". ie. control on a column by column
    basis who can view or update a column? Scenario - a primary data owner "owns"
    a set of records in a database, but would like to give (or delegate) selected
    access to groups of users to view and/or update the content of certain fields
    in the recordset.
    Seems like this is probably not that uncommon a requirement but can't seem to
    find any design patterns for this.

    Dean Tine wrote:
    Can anyone suggest a smart way to use Weblogic platform capabilities to implement
    a table column security/authorisation "control". ie. control on a column by column
    basis who can view or update a column? Scenario - a primary data owner "owns"
    a set of records in a database, but would like to give (or delegate) selected
    access to groups of users to view and/or update the content of certain fields
    in the recordset.
    Seems like this is probably not that uncommon a requirement but can't seem to
    find any design patterns for this.The first question is, if you are going through an application server
    why do you need to do anything clever at all? You can check the role of
    authenticated users and grant or deny access based on that (i.e. some
    dynamically generated SQL dependent on role)?
    If you really need support at the DBMS level, you can use SQL VIEWs.
    Create a view containing the appropriate columns and grant permissions
    to that view to the appropriate users. With an app server you will need
    multiple connection pools though and it quickly gets messy.
    Alternatively use stored procedures. Depending on your DBMS this might
    be required (if views aren't updatable) or could give better
    performance. Or worse performance.
    Robert

  • How to Implement the OVS in a table

    Hai
    I want to implement a table with one column with OVS. But if I want to enable OVS, I can not create a table because of the cardinality of the node-element of the context.
    My table Node cardinality  is 0..n because we have many rows in a table.
    i have introduced EVS in one column.it works fine.
    Because We can not set our own inputfield or button in EVS Pop Up.
    If we select the cardinality "1..1" the OVS works but the table only can have one row.  If we select the cardinality "0..n" the table can have "n" rows but the OVS is disabled.
    Did anybody implements a similar application? Please help
    i got the following error
    When i call WDValueServices.addOVSExtension with ovsStartupAttributes, do this error: MappedAttributeInfo ViewName): must not modify the datatype of a mapped attribute
    Message was edited by:
            Dhinakaran Jeyachandran

    Hi,
    If you think it's cardinality issue thenchange it to 1:n.
    Otherwise do like this.
    Create a custom controller first say OVSCustomController
    and do following things for a column:-
    Add this controller in your view.
    IPublicOVSCustomController.IContextNode  ovsContext = wdThis.wdGetOVSCustomControllerController().wdGetContext();     
    Create input and output nodes for ovs.
    IWDNodeInfo ovsInputNodeInfo = ovsNodeInfo.addChild(columnName+"Input",null,true, CMICardinality.ONE,CMICardinality.ONE_TO_MANY, true, null);     
    IWDNodeInfo ovsOutputNodeInfo = ovsNodeInfo.addChild(columnName+"OutPut",null,true, CMICardinality.ONE_TO_MANY,CMICardinality.ONE_TO_MANY, true, null);
    Create Attributes for this field in the input and output nodes.
    IWDAttributeInfo attrInputInfo = ovsInputNodeInfo.addAttribute(field,datatype of field);
    IWDAttributeInfo attrOutputInfo = ovsOutputNodeInfo.addAttribute((relatedfield,datatype of field);
    set the attribute Info array:-
    IWDAttributeInfo[] attrInfoArray = new IWDAttributeInfo[1];
              attrInfoArray[0] = attribute info of the column
    Now call the ovs service :-
    WDValueServices.addOVSExtension("",attrInfoArray,ovsInputNode,ovsOutputNode,listener);
    Your ivs window will be opened by this.
    Feel free for any queries regarding this.
    Regards,
    Praveen
    Message was edited by:
            Praveen Kumar Pandey
    Message was edited by:
            Praveen Kumar Pandey

  • How to implement Table Function Operator?

    Hello All,
    Can some one post me the steps on how to implement this table function operator ??
    Thanks ...

    I don't know what else to say then that what's writen in help (F1):
    To define a Table Function operator in a mapping:
    Before you deploy the mapping containing the Table Function operator, you must manually create the table function in the target warehouse. The Table Function operator is bound to the actual table function object through the code generated by the mapping.
    1. Drag and drop a Table Function operator onto the Mapping Editor canvas. A table function operator called TABLEFUNCTION is added to the Mapping Editor canvas.
    2. Connect the appropriate source attributes to the input group of the table function operator.
    3. Right-click the Table Function operator and select Open Details. The Table Function Editor is displayed.
    4. From the Groups tab, select Add to add an output group

Maybe you are looking for