UIX get EO column names into a messageChoice

I'm working on building a search function into my form which will allow the user to enter an arbitrary search string into a text box and then provides a list of columns in the table to be searched on. Is there any way to populate that list box (messageChoice) with the column names from the database dynamically? And if so, could I have the value set to those and the label set to the 'human readable' label text used on my forms?
Nick

Try looking at the section "Apply a filter to the Lov Window" here:
http://otn.oracle.com/products/jdev/howtos/10g/adf_uix_lov_ht/index.html

Similar Messages

  • How to get the column names of the table into the Dashboard prompt

    how to get the column names of the table into the Dashboard prompt
    Thanks & Regards
    Kishore P

    Hey john,
    My requirement is as follows
    I have created a Rank for Total sales by Region wise i.e RANK(SUM(Dollars By Region)) in a pivot table.
    My pivot table looks like this
    COLUMN SELECTOR: TOTAL US , REGION , DISTRICT , MARKET
    ---------------------------------------------------- JAN 2009          FEB 2009        MAR 2009
    RANK              REGION                  DOLLARS           DOLLARS        DOLLARS DOLLARS
    1 CENTRAL 10 20 30 40
    2 SOUTHERN 10 30 30 70
    3 EASTERN 20 20 20 60
    4 WESTERN 10 20 30 40
    When i select the District in column selector
    Report has to display rank based on Total Sales by District. i.e
    ------------------------------------------------- JAN 2009         FEB 2009       MAR 2009
    RANK             DISTRICT              DOLLARS           DOLLARS        DOLLARS DOLLARS
    for this i need to change the fx of rank i.e RANK(SUM(Dollars By Region)) to RANK(SUM(Dollars By District)) and fx of Region i.e Markets.Region to Markets.District dynamically.
    so , i need to capture column name of the value selected from the column selector and dynamically i need to update the fx 0f RANK & fx of region.
    do you have any solution for this?
    http://rapidshare.com/files/402337112/Presentation1.jpg.html
    Thanks & Regards
    Edited by: Kishore P on Jun 24, 2010 7:24 PM
    Edited by: Kishore P on Jun 24, 2010 7:28 PM

  • Get the column names of a query (in own plugin)

    Hi,
    I'm developing my first plugin. It is a region plugin where the plugin-user passes a sql query as the source that the plugin will turn into a formated report.
    I found how to retreive the query result by using APEX_PLUGIN_UTIL.GET_DATA functions. Since it is an array, it is simple to cycle through the data rows. But how can i figure out
    1) how many columns the query returns
    2) whats the name of the columns is?
    Thanks a lot in advance for any hint...
    Cheers, Hans

    Hi Hans,
    the package APEX_PLUGIN_UTIL provides everything you need. No need to do your own DBMS_SQL handling!
    Have a look at the API documentation and the example of GET_DATA at http://docs.oracle.com/cd/E23903_01/doc/doc.41/e21676/apex_plugin_util.htm#BABFBIJD
    The t_column_value_list record type is a two dimensional array defined as
    type t_column_value_list  is table of wwv_flow_global.vc_arr2 index by pls_integer;The first array contains an entry for each column.
    l_column_value_list.COUNTcan be used to get the number of columns.
    l_column_value_list(1).COUNTcan be used to get the number of rows. An example to iterate over all columns and rows:
    for l_column in 1 .. l_column_value_list.count loop
        for l_row in 1 .. l_column_value_list(l_column).count loop
            sys.htp.p('column#=' || l_column || ' row=' || l_row || ' value: ' || l_column_value_list(l_column)(l_row));
        end loop;
    end loop;If you need the name of the columns and maybe the original data type and not everything converted to VARCHAR2 you have to use the more sophisticated GET_DATA2. See http://docs.oracle.com/cd/E23903_01/doc/doc.41/e21676/apex_plugin_util.htm#BABFJHAI
    This function returns the record type t_column_value_list2 which is defined as
    type t_value is record (
        varchar2_value      varchar2(32767),
        number_value        number,
        date_value          date,
        timestamp_value     timestamp,
        timestamp_tz_value  timestamp with time zone,
        timestamp_ltz_value timestamp with local time zone,
        interval_y2m_value  interval year to month,
        interval_d2s_value  interval day to second,
        blob_value          blob,
        bfile_value         bfile,
        clob_value          clob );
    type t_value_list is table of t_value index by pls_integer;
    type t_column_values is record (
        name       varchar2(32767),
        data_type  varchar2(20), /* use c_data_type_* constants to compare */
        value_list t_value_list );
    type t_column_value_list2 is table of t_column_values         index by pls_integer;Again, it's some kind of two dimensional array. The first dimensions are the columns. But this time you also get some details of the parsed column. For example:
    for l_column in 1 .. l_column_value_list2.COUNT loop
        sys.htp.p('Column Name: ' || l_column_value_list2(l_column).name || ' Data Type: ' || l_column_value_list2(l_column).data_type );
    end loop;Will return you all the columns of the SQL statement. Using "name" and "data_type" you can get the column name and the data type. To access the values you can use
    for l_column in 1 .. l_column_value_list2.COUNT loop
        sys.htp.p('Column Name: ' || l_column_value_list2(l_column).name || ' Data Type: ' || l_column_value_list2(l_column).data_type );
        for l_rows in 1 .. l_column_value_list2(l_column).value_list.COUNT loop
            sys.htp.p(
                'row=' || l_row || ' value: ' ||
                apex_plugin_util.get_value_as_varchar2 (
                    p_data_type => l_column_value_list2(l_column).data_type,
                    p_value     => l_column_value_list2(l_column).value_list(l_row) );
        end loop;
    end loop;I used apex_plugin_util.get_value_as_varchar2 to always get a VARCHAR2, independent of the actual data type of the column. If you need the original data type, use "number_value", ... of the t_value record type.
    Hope that gives you a direction
    Patrick
    Regards
    Patrick
    My Blog: http://www.inside-oracle-apex.com
    APEX Plug-Ins: http://apex.oracle.com/plugins
    Twitter: http://www.twitter.com/patrickwolf

  • Store Column-Name into variable

    Hello from germany
    I got stuck with following:
    How is it possible to store the name of a column into a variable or is it possible to put an index "on" a column?
    The reason for this: I need to fill and check a complete column!
    Thanks for Your help!
    Best regards
    Marlon

    Those sure are unrelated questions. Lets say we have a table like this:
    SQL> CREATE TABLE t (
      2    a  number,
      3    b  varchar2(8),
      4    c  date );
    Table created.You can get a column name like this:
    SQL> set serveroutput on
    SQL> DECLARE
      2    second_col   VARCHAR2 (30);
      3  BEGIN
      4    SELECT column_name
      5      INTO second_col
      6      FROM user_tab_columns
      7     WHERE table_name = 'T'
      8       AND column_id = 2;
      9    DBMS_OUTPUT.PUT_line(second_col);
    10  END;
    11  /
    B
    PL/SQL procedure successfully completed.
    SQL> You can put an index on a column like this:
    SQL> CREATE INDEX t_n1 ON t(b);
    Index created.And you can add data to the table like this:
    SQL> insert into t(a, b) values (4, 'asdf');
    1 row created.
    SQL> select * from t;
             A B        C
             4 asdf
    SQL>

  • Help to get the column names from ResultSet.

    Hi,
    I hava a ResultSet and i want the column names into a String Array.
    i wrote the code to get the column names as below,
    String s = "select Dept_No,Dept_Name from tb_dept";
    rs = statement.executeQuery(s); // ResultSet defined before
    String[] columnNames1 = null;
    ResultSetMetaData meta = rs.getMetaData ( ) ;
    for (int x = 1; x <= meta.getColumnCount(); x++)
    columnNames1[x] = meta.getColumnName(x).toString();
    but i'm getting NullPointer exception. However if i print the column names means its printing the first column name and giving NullPointer Exception at the next step.
    Can anyone help me...
    Thanks,
    Rashmy

    but rs.getRow() ll give the current roe no right?
    but we can move to the last row using last() method
    and get the row count right?
    thank you yaar.
    private int getRowCount(ResultSet resultSet){
            int total = 0;
            try{
                resultSet.afterLast();
                if(resultSet.previous()) total = resultSet.getRow();
                resultSet.beforeFirst();
            }catch(SQLException sqle){
                javax.swing.JOptionPane.showMessageDialog(null,sqle);
            return total;
        }

  • Cann't OCI get correct column name???

    My program is:
    rc = get_error_message(OCIStmtExecute(dbCon.svchp, stmthp, errhp, (ub4) 1, (ub4) 0,
    (CONST OCISnapshot *) NULL, (OCISnapshot *) NULL, OCI_DESCRIBE_ONLY));
    if(rc!=OCI_SUCCESS)
    return ERROR;
    for ( i = 0; i < nresultcols; i++ ) {
    if(get_error_message(OCIParamGet(stmthp, OCI_HTYPE_STMT, errhp, (void**)&colhd, i+1)))
    return ERROR;
    if(get_error_message(OCIAttrGet(colhd, OCI_DTYPE_PARAM,
    colname, 0, OCI_ATTR_NAME, errhp)))
    return ERROR;
    printf("%d colname:%s\n",i+1,colname);
    But cann't get correct column name.Is someone know how to do? Thanks.
    null

    OCI does not guarantee that the text attributes are always null terminated. You need to pass in a length or size parameter to the OCIAttrGet call whenever you try to get char data. The correct way to use the interface would be:
    text *colname;
    ub4 len;
    OCIAttrGet (colhd, OCI_DTYPE_PARAM, &colname, &len, OCI_ATTR_NAME, errhp);
    Remember to pass in a (dvoid **) attribute instead of (dvoid *) you seem to be passing.
    Also,you need to copy the data returned into
    your memory since OCI can choose to free this
    memory in a subsequent call.

  • Get the file name into a Odi variable

    Hi,
    I need to get the file name into odi variable like ..A/ETC/file.txt
    For eg.the filename file.txt should get store in a variable.
    Then i want to compare the file name stored in the variable with some other value.
    Please suggest.
    Thanks.

    in package,
    declare the variable, then evaluate it with another variable, generally using # syntax
    if the variable is date type, suggest to use : syntax, because # will treat the variable value as text value
    in loadplan
    use case when syntax,

  • Reading csv file how to get the Column name

    Hi,
    I am trying to read a csv file and then save the data to Oracle.
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    Connection c = DriverManager.getConnection("jdbc:odbc:;Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=.;Extensions=csv,txn");
    Statement stmt = c.createStatement();
    ResultSet rs = stmt.executeQuery("select * from filename.csv");
    while(rs.next())
       System.out.println(rs.getString("Num"));
    My csv file looks like this:
    "CHAM-23","COMPANY NAME","Test","12",20031213,15,16
    Number,Environ,Envel,Date,Time
    "1","2",3,"4",5
    "6","7",8,"9",9
    Now is there anyway using the above code I start processing the file from the second row that holds the names of the columns and skip the first row. And also can I get the name of the column using ResultSet something like:
    if columnName.equals("Number")
    Because I may have a csv file that could have more columns:
    "CHAM-24","COMPANY NAME","Test","12",20031213,16,76
    Number,Environ,Envel,Date,Time,Total,Count
    "1","2","3","4","5",3,9
    "6","7","8","9",9",,2
    So I want to get the column name and then based on that column I do some other processing.
    Once I read the value of each row I want to save the data to an Oracle Table. How do I connect to Oracle from my Application. As the database is on the server. Any help is really appreciated. Thanks

    The only thing I could think of (and this is a cluj) would be to attempt to parse the first element of each row as a number. If it fails, you do not have a column name row. You are counting on the fact that you will never have a column name that is a number in the first position.
    However, I agree that not always placing the headers in the same location is asking for trouble. If you have control over the file, format it how you want. If someone else has control over the file, find out why they are doing it that way. Maybe there is a "magic" number in the first row telling you where to jump.
    Also, I would not use ODBC to simply parse a CSV file. If the file is formatted identically to Microsoft's format (headers in first row, all subsequent rows have same number of columns), then it's fine to take a shortcut and not write your own parser. But if the file is not adhering to that format, don't both using the M$ ODBC driver.
    - Saish
    "My karma ran over your dogma." - Anon

  • Getting the column names dynamically

    hi gurus,
    i have list item populated with many table names from a schema.
    i have grid in oracle forms 10g and i want to fill the grid with the data that should come at least four/more columns.
    i want to fire the list change trigger when each time any one table name is selected/changed.
    how can i get the column names dynamically
    please give me the step by step process
    for filling the grid..

    hi ,
    by getting column names dynamically i am creating a record group
    using this below query
    SELECT COLUMN_NAME, DATA_TYPE FROM USER_TAB_COLUMNS WHERE TABLE_NAME = <table_name>
    but when timestamp datatype is there then it is showing error cannot create group groupname
    but the record group is running successful on varchar2,number,date dayatypes
    if any alternative is there i mean to say without using record group then tell me or where is the problem

  • How to get the tag name into javascript

    Hi,
    Is there any way to get the tag name into java script when user clicks on.
    For eg: if i use netui:anchor tag, how can I pass the tag id to the javascript when user clicks on the link using onClick attribute. This tag id needs to be evaluated at run time.
    Ex code is given below.
    function fun1(){
    // how to get the tag name;
    <%
    String st="hai";
    %>
    <netui:anchor action="x" onClick="fun1()" tagId="<%=st%>>
    I want to get this tagId (st) to the java script function fun1() when user clicks on this link. How can I do that. can you please help in this issue.
    Thanks,
    Satish.

    Hi,
    You can set the java variable as a js variable at run time:
    <script>
    var anchorName = <%=getNetuiTagName%>;
    function fun1()
    var anchorID = getNetuiTagName(anchorName);
    alert(anchorID);// this will show the rendered ID for the anchor specified
    </script>
    this works because the jsp variable will be rendered before the js.
    Thanks,
    Steve

  • WRAP JTable Column Name into 2 lines

    I have a JTable with a long column Name. Can I wrap the Column Name into multiple (2) lines.

    baskaraninfo wrote:> set the following to a table column,<html><body>Employee<br>Name</body></html>>The break tag got lost cos you didnt use the code tags
    <html><body>Employee<br>Name</body></html>

  • Get column names into a VB program, for an SQL query that joins tables

    use [mydatabase]
    select * from InvNum inum
    left join _btblInvoiceLines ilin
    on inum.autoindex = ilin.iinvoiceid
    left join stkitem s
    on ilin.istockcodeid = s.stocklink where InvNumber = 'IVQ0834' or InvNumber = 'IVQ0835'
    I need to get out the column names in a VB program in the same order they would appear in the SQL query above...
    I want to use something like:
    select column_name from information_schema.columns where TABLE_NAME = ....
    except there are several tables involved above so I dont know the format!

    If you execute the query in your program using the SqlDataReader.ExecuteReader method, the column names will be available via the GetName method of the returned reader.  But note that your query may return multiple columns with the same name.
    Dim reader As SqlDataReader = command.ExecuteReader()
    For x = 0 To reader.FieldCount - 1
    Console.WriteLine(reader.GetName(x))
    Next x
    Dan Guzman, SQL Server MVP, http://www.dbdelta.com

  • Need help on getting the column names of Tabletype

    I have a table Mapping with the following values: This Mapping table contains the table names (in Tabname) and the column names(colname) of various tables and values(ValuesTobeFilled) for the columns.
    I have to insert into the tables present in the Tabname field with the values present in the ValuesTobeFilled in the columns present in the Colname field.
    Note: The Mapping table need not contain all the columns of the base table. The columns that are not present can be filled with null. And this mapping table is not fixed i.e. rows can be inserted/deleted frequently.
    Sample values in mapping table:
    Tabname                        Colname        ValuesTobeFilled
    sample_items     Eno     Corresponding Expression to get the values from XML input
    sample_items     Ename     Corresponding Expression to get the values from XML input
    XXX     YYY     Corresponding Expression to get the values from XML input
    Before filling in the actual tables, I have to store the entire data temporarily and I have used a tabletype declared as follows:
    TYPE T_sample_items IS TABLE OF sample_items%ROWTYPE INDEX BY BINARY_INTEGER;
    l_sample_items T_sample_items;
    Where the table sample_items have the following columns:
    •     Eno
    •     Ename
    •     Eaddress
    •     Eemail
    So, the tabletype should be filled as:
    Eno     Ename     Eaddress     EEmail
    1     XXX     -     -
    I have declared a cursor to select the values from mapping table and I need to fill in the ValuesTobeFilled values to the corresponding table.
    CURSOR c_xpath (c_tname mapping.TABNAME%type)
    IS
    select * from mapping where tabname = c_tname;
    CURSOR c_tables
    IS
    SELECT DISTINCT TABNAME FROM mapping;
    FOR crsr IN c_tables
    LOOP
    p_tname := CRSR.TABNAME;
    FOR csr IN c_xpath(p_tname)
    LOOP
    IF l_xml_doc.EXISTSNODE(CSR.XPATH_EXP) = 1
    THEN
    l_node_value := l_xml_doc.extract(CSR.XPATH_EXP).getStringVal(); -- This is the value to be stored in the corresponding column
    ELSE
         l_node_value := NULL;
    END IF;
    IF CSR.COLUMN_NAME = ‘eno’
    THEN
         l_sample_items(1).eno := l_node_value;
    ELSIF CSR.COLUMN_NAME = ‘ename’
    THEN
         l_sample_items(1).name := l_node_value;
    END IF;
    END LOOP;
    END LOOP;      
    And I need to eliminate hard coding while comparing the column names (in the following piece of code) as the Mapping table values are subject to insertion/deletion:
    IF CSR.COLUMN_NAME = ‘eno’
    THEN
         l_sample_items(1).eno := l_node_value;
    ELSIF CSR.COLUMN_NAME = ‘ename’
    THEN
         l_sample_items(1).ename := l_node_value;
    END IF;
    I need to insert the values directly into the tabletype without this hardcoding. Please suggest me ways to compare the mapping table values with the field (column) names of the tabletype. If it is not possible using tabletype, please suggest any other ways of fixing the problem.
    Many thanks,
    Gopi

    I take it this isn't going to be a serious production system at the end of the day?
    Storing metadata in tables for extraction and insertion of data is just wrong in so many ways. It smells heavily of Entity Attribute Value modelling, which is the most wrong way to use a relational database and is known to have major performance implications and be liable to bugs and issues. The idea that EAV modelling allows for 'generic' databases where new data items can be added flexibly later on without having to change code is usually justified with an excuse of "it means we don't have to update all our tables when we want a new column" which is easily countered with "if you're adding a single column a good relational design wouldn't require you to add it to more than one table anyway in most cases".
    Just what exactly are you trying to do and why? There has to be a better way.

  • How can i get the column names in CSV file.

    Hi,
    After execution of infospoke i can not see the column names in that file.How can i get column of respective infoprovider?
    Thanks,
    Gananadha Lenka

    Hello Gana,
    Actually while exporting the data using Info Spoke, we have the possibility to modify the data that we send. This is possible using transformations.
    In your Info Spoke, you have a tab called Transformations.
    Here you need to create an implementation and then use BADi to populate data.
    Check if you can write a start routine sort of thing here and insert a new record into the internal table by hardcoding with your field headings.
    Let me know if you dont know how to create transformations.
    Kris...

  • How do you get the column names for a given table from an SQL LocalDB programmatically in Visual Basic.

    Just new to this and unable to find answers

    My solution
        Public Function GetTableColumnNames() As Boolean
            Form1.ListBox1.Items.Clear()
            _MDFFileName = String.Format("{0}.mdf", _DatabaseName)
            _sqlConnectionString = String.Format("Data Source=(LocalDB)\v11.0;AttachDBFileName={1};Initial Catalog={0};Integrated Security=True;", _DatabaseName, Path.Combine(_DatabaseDirectory, _MDFFileName))
            Dim cn As New SqlConnection(_sqlConnectionString)
            'put the table name in brackets in case it has spaces in it
            Dim SQLString As String = "SELECT * FROM [" & _TableName & "]"
            Try
                cn.Open()
                Dim cmd As New SqlCommand(SQLString, cn)
                Dim rdr As SqlDataReader =
                cmd.ExecuteReader(CommandBehavior.KeyInfo)
                Dim tbl As DataTable = rdr.GetSchemaTable
                'This shows all of the information you can access about each column.
                For Each col As DataColumn In tbl.Columns
                    Form1.ListBox1.Items.Add(col.ColumnName)
                    Debug.Print("col name = " & col.ColumnName & ", type = " & col.DataType.ToString)
                Next
                'Get each column.
                For Each row As DataRow In tbl.Rows
                    Form1.ListBox1.Items.Add(row("ColumnName"))
                Next
                rdr.Close()
            Catch
                MessageBox.Show("Error opening the connection to the database.")
            Finally
                cn.Close()
            End Try
            Return _Success
        End Function

Maybe you are looking for