How to get auto generated column in spring jdbc

Hi guys ,
I am using springJDBC and sybase db.
I think what i am facing is a standard problem but whatever support i am getting from google is not working.
My problem is :
"While inserting values in database one colum is autogenerated .....how do i get the value of that column??"
FYI,
I have tried using the following code :
"final String INSERT_SQL = "insert into my_test (name) values(?)";
final String name = "Rob";
KeyHolder keyHolder = new GeneratedKeyHolder();
jdbcTemplate.update(
new PreparedStatementCreator() {
public PreparedStatement createPreparedStatement(Connection connection) throws SQLException {
PreparedStatement ps =
connection.prepareStatement(INSERT_SQL, new String[] {"id"});
ps.setString(1, name);
return ps;
keyHolder);
// keyHolder.getKey() now contains the generated key"
but i am getting this error : "java.lang.AbstractMethodError: com.sybase.jdbc2.jdbc.SybConnection.prepareStatement(Ljava/lang/String;I)Ljava/sql/PreparedStatement"
I think this code works well with Oracle but not with sybase .........does anyone know the solution of this problem .......and by "this problem" i mean how to retrieve auto generate value in spring jdbc ...........without using SimpleJdbcInsert class

Looking at the previous post it doesn't look like a Spring issue.
You are using a JDBC driver which does not support getting generated keys so you have 2 choices:
- Use a different driver that supports generated keys
- Get the generated key by issuing some vendor specific SQL e.g. 'select @@identity' for SQL server

Similar Messages

  • HOW TO GET AUTO GENERATED PRIMARY ID KEY BACK FROM AN INSERT STATEMENT IN .

    Just recently I ran into a problem with what seems to be a deficiency in the Oracle Database. When trying to return an auto-generated key as is done in Microsoft's SQL database, it seems Oracle for whatever reason didn't add this capability, the key couldn't be passed back to the .Net call. After tinkering with the .Net software and talking with the Oracle techs, a decent work around to the problem (presented here) comes fairly close. Two things have to be done first before this will work. A sequence has to be created on the Oracle DB. Also a trigger has to be created against the table the keys are going to be returned from.
    The class works by passing to the function 'update_datasets_return' a DataSet with as many tables as you want. The function spins through the tables and put the keys in each row inserted. It's assumed the first row will either be the primary key or some numeric value. This can be changed by modifying the: dt.Columns(0).ColumnName
    Notice the word Inserted. On Updates and Deletes the key value is ignored because it's already present. The routine just updates the database as usual.
    So in other words you could send a table to the function with rows inserted, deleted, or updated and it will take care of them all. One routine for all.
    ' ======================================================================
    ' Created by SEF and Oracle SR: 5607364.993 This is a complete Redo
    ' of the initial concept. SEF...
    ' Sample of sequence and trigger at bottom.
    ' Uses the ODP.NET data provider.
    ' update_datasets_return: Goes thru each table in the dataset and
    ' updates, deletes, or inserts as needed.
    ' If inserting, a 'sequence counter' and a 'trigger'
    ' using the 'before insert' must be present. The sequence
    ' counter is set to auto increment by 1 starting at 1.
    ' The trigger is specific to the table.
    ' Create the trigger and sequence in the database or run the samples
    ' below in PL/SQL. Be sure the logon with a user that has enough rights.
    ' Routine assumes the first column is going to hold the sequence
    ' number. Actually any column could be used. Just change the
    ' dt.Columns(0).ColumnName to whatever you want or leave as default.
    ' The da_RowUpdated sub is where the 'sequence number' gets returned
    ' on each row that is inserted into a table. Routine is ignored on
    ' deletes and updates. SEF...
    ' =======================================================================
    Imports System
    Imports System.Data
    Imports Oracle.DataAccess.Client
    Imports Oracle.DataAccess.Types
    Public Class OracleUpdate
    Private Shared m_conn As OracleConnection
    Private Shared da As New OracleDataAdapter
    Private Shared dt As DataTable
    Private Shared conn As New OracleConnection
    Private Shared dr As DataRow
    Private Shared astep As Long
    Private Shared rwIndex As Integer = 0
    Private Shared tblIndex As Integer = 0
    Public Shared Function update_datasets_return(ByVal constr As String, ByVal ds As DataSet) As DataSet ''ByRef ds As DataSet)
    Dim selectstmt As String
    m_conn = New OracleConnection(constr)
    Try
    m_conn.Open()
    Catch ex As Exception
    Throw New ArgumentException(" Error: connection lost." & ex.Message)
    End Try
    For Each dt In ds.Tables
    ''Uncomment the code only if auto numbering
    ''is NOT turned on for the table being updated. SEF...
    ''rwIndex = 0
    ''For Each dr In dt.Rows
    '' Try
    '' Select Case dr.RowState
    '' Case DataRowState.Added
    '' astep += 1
    '' ' =======================================================
    '' ' This "Try Catch" section created only if auto numbering
    '' ' is NOT turned on for the table being updated. SEF...
    '' ' It's a crude attempt at creating a unique number.
    '' ' A more serious approach would be to use a GUID.
    '' ' Use only if you decide not to have a sequence and a
    '' ' trigger for the table.
    '' ' =======================================================
    '' Try
    '' 'ds.Tables(tblIndex).Rows(rwIndex).Item(0) = astep
    '' Catch
    '' ' ignore the error corrected integer identity so don't randomize it
    '' End Try
    '' dr.Item("createdDate") = Now
    '' dr.Item("changedDate") = Now
    '' Case DataRowState.Modified
    '' dr.Item("changedDate") = Now
    '' End Select
    '' Catch ex As Exception
    '' conn.Close()
    '' conn.Dispose()
    '' Throw New ArgumentException(" Error: update_datasets " & ex.Message)
    '' End Try
    '' rwIndex += 1
    ''Next
    selectstmt = "SELECT * From " & dt.TableName & " Where " & dt.Columns(0).ColumnName & " = " & 0
    da = New OracleDataAdapter(selectstmt, m_conn)
    Dim bldr As OracleCommandBuilder = New OracleCommandBuilder(da)
    AddHandler da.RowUpdated, New Oracle.DataAccess.Client.OracleRowUpdatedEventHandler(AddressOf da_RowUpdated)
    Dim insCmd As OracleCommand = Nothing
    Try
    insCmd = CType(bldr.GetInsertCommand(), OracleCommand)
    Catch ex As Exception
    Throw New Exception("")
    End Try
    insCmd.CommandText += " returning " + dt.Columns(0).ColumnName + " into :seqno"
    insCmd.Parameters.Add(New OracleParameter("seqno", OracleDbType.Int16, _
    4, ParameterDirection.Output, False, CType(0, System.Byte), CType(0, _
    System.Byte), dt.Columns(0).ColumnName, DataRowVersion.Current, Nothing))
    da.InsertCommand = insCmd
    Try
    ' ===========================
    da.Update(ds, dt.TableName)
    ' ===========================
    Catch ex As Exception
    Throw New ArgumentException(" Error: update_datasets_return " & ex.Message)
    End Try
    Next
    m_conn.Close()
    m_conn.Dispose()
    Return ds
    End Function
    Friend Shared Sub da_RowUpdated(ByVal sender As Object, ByVal e As OracleRowUpdatedEventArgs)
    If e.StatementType = StatementType.Insert Then
    e.Row(0) = Int64.Parse(e.Command.Parameters("seqno").Value.ToString())
    End If
    End Sub
    ' ================================================================================
    ' Notes:
    ' =================== How To -- Sample section for PL/SQL ==================================
    ' myTrigger, myTable, mySequence, and myColumn are values you need to supply.
    ' Note: A trigger needs to be created for each table.
    ' A sequence needs to be created only once and referenced each time
    ' in the trigger(s). Or you could create a new sequence each time you
    ' create a trigger. Sort of a waste of effort.
    ' Explanation:
    ' myTrigger = The name you are giving this trigger.
    ' If a trigger with same name already
    ' exist, it will be overwritten.
    ' myTable = Table you want to add the sequence numbers to.
    ' mySequence = Sequence counter you created. Whatever name you called it.
    ' myColumn = The column to update with the sequence number.
    ' =================================================================================
    ' -- Run in PL/SQL or create at DB. --
    ' create or replace trigger myTrigger
    ' before insert on myTable for each row
    ' begin
    ' select mySequence.nextval into :new.myColumn from dual ;
    ' end;
    ' -- Run in PL/SQL or create at DB. --
    ' create sequence mySequence
    ' MINVALUE 1
    ' START WITH 1
    ' INCREMENT BY 1
    ' NOCACHE; can be set to CACHE but sequence may contain gaps.
    ' Explanation of CACHE from: http://www.techonthenet.com/oracle/sequences.php
    ' With respect to a sequence, the CACHE option specifies how many sequence
    ' values will be stored in memory for faster access. The downside of creating
    ' a sequence with a CACHE is that if a system failure occurs, all cached
    ' sequence values that have not be used, will be "lost". This results in
    ' a "gap" in the assigned sequence values. When the system comes back up,
    ' Oracle will CACHE new numbers from where it left off in the sequence,
    ' ignoring the so called "lost" sequence values.
    ' Note: To recover the lost sequence values, you can always execute an
    ' ALTER SEQUENCE command to reset the counter to the correct value.
    ' NOCACHE means that none of the sequence values are stored in memory.
    ' This option may sacrifice some performance, however, you should not encounter
    ' a gap in the assigned sequence values.
    End Class
    C#:
    using System;
    using System.Data;
    using Oracle.DataAccess.Client;
    using Oracle.DataAccess.Types;
    public class OracleUpdater2
    private static OracleConnection m_conn;
    private static OracleDataAdapter da = new OracleDataAdapter();
    private static OracleConnection conn = new OracleConnection();
    public static DataTable load_it(string constr, string strqry, string tblName)
    // =====================================================================
    // constr = User Id=myUser;Password=myPass";Data Source=myDataSource
    // strqry = Select * from something?
    // tblName = The table name to fill.
    // =====================================================================
    conn = new OracleConnection(constr);
    conn.Open();
    da = new OracleDataAdapter(strqry, conn);
    OracleCommandBuilder bldr = new OracleCommandBuilder(da);
    DataTable dt = new DataTable(tblName);
    da.Fill(dt);
    conn.Dispose();
    return dt;
    public static DataSet update_datasets_return(string constr, DataSet ds)
    //'ByRef ds As DataSet)
    string selectstmt = null;
    m_conn = new OracleConnection(constr);
    try
    m_conn.Open();
    catch (Exception ex)
    throw new ArgumentException(" Error: connection lost." + ex.Message);
    foreach (DataTable dt in ds.Tables)
    selectstmt = "SELECT * From " + dt.TableName + " Where " +
    dt.Columns[0].ColumnName + " = " + 0;
    da = new OracleDataAdapter(selectstmt, m_conn);
    OracleCommandBuilder bldr = new OracleCommandBuilder(da);
    da.RowUpdated += new
    Oracle.DataAccess.Client.OracleRowUpdatedEventHandler(da_RowUpdated);
    OracleCommand insCmd = null;
    try
    insCmd = (OracleCommand)(bldr.GetInsertCommand());
    catch (Exception ex)
    throw new Exception("" + ex.Message);
    insCmd.CommandText += " returning " + dt.Columns[0].ColumnName + " into
    :seqno";
    insCmd.Parameters.Add(new OracleParameter("seqno", OracleDbType.Int16, 4,
    ParameterDirection.Output, false, System.Convert.ToByte(0),
    System.Convert.ToByte(0), dt.Columns[0].ColumnName, DataRowVersion.Current,
    null));
    da.InsertCommand = insCmd;
    try
    // ===========================
    da.Update(ds, dt.TableName);
    // ===========================
    catch (Exception ex)
    throw new ArgumentException(" Error: update_datasets_return " +
    ex.Message);
    m_conn.Close();
    m_conn.Dispose();
    return ds;
    If you need a working program of how this works, let me know.

    Oh my god, it is too long! You definitely check out types, casting and especially ODP.Net (it does everything for you)... etc. They can help you to simplify your code. I do not have enough time to copy paste it to Studio and understand and solve your issue, so I got title of your message as your main question.
    In Oracle, you can create an autonumber field by using sequences object. This is really useful when you need to create a unique number to act as a primary key.
    Basically you can create a sequence simply typing;
    CREATE SEQUENCE MY_SEQUENCE;
    now you have a sequence called "MY_SEQUENCE"... Then, I advice you select a number from sequence;
    select MY_SEQUENCE.nextval from dual;
    I said I advice actually kinda must, although it called sequence, I cannot be sequential. Do not even try to predict the value. You can be sure that it is unique number so you can use it.
    Then insert you record and use that number part of your primary key. I think that's it. Have fun.

  • How to get auto generated key when inserting  using C#

    I inserted a row in a table in oracle 11g as follows:
    public void add(Admin admin)
    OracleConnection myOracleConnection =
    new OracleConnection(connStr);
    myOracleConnection.Open();
    OracleCommand myOracleCommand = myOracleConnection.CreateCommand();
    myOracleCommand.CommandText = "Insert into Admin values(adminSeq.nextVal,:name) returning admin_id into :adminId";
    myOracleCommand.Parameters.Clear();
    OracleParameter para=new OracleParameter(":adminId",ParameterDirection.Output);
    myOracleCommand.Parameters.Add(para);
    myOracleCommand.Parameters.Add(":name", admin.Name);
    myOracleCommand.ExecuteNonQuery();
    admin.AdminId = int.Parse(myOracleCommand.Parameters[":adminId"].Value.ToString());
    I found a new row a ADMIN, but I can not get the PK when inserting. the value of "myOracleCommand.Parameters[":adminId"].Value" is always "OUTPUT" , any ideas?
    Thank you.
    Edited by: user11228816 on 2010-3-1 上午12:17

    Does not seem to be an Oracle issue itself. Your approach is correct. E.g.
    SQL> create table foo( id number, name varchar2(20) );
    Table created.
    SQL>
    SQL> create sequence foo_id start with 1 increment by 1 nomaxvalue nocycle;
    Sequence created.
    SQL>
    SQL> var id number
    SQL> insert into foo values( foo_id.nextval, 'test1') returning id into :id;
    1 row created.
    SQL>
    SQL> print id
            ID
             1
    SQL>Check your bind calls. Is the bind name index value for example not perhaps +["adminId"]+ (no bind char marker)?
    Also, the binding of the output parameter, i.e.
    para=new OracleParameter(":adminId",ParameterDirection.Output);In OCI, when binding, one needs to specify the data type for the bind. When binding strings for example, the length also needs to be specified. This bind seems to be untyped. Yet, you apply a "+ToString()+" method to it when referencing it.. how would the Parameters class know its data type?
    Can you do explicit data type binding in C#? If so, try and bind the parameter explicitly as an integer and reference it as an integer when getting its value.

  • How to get the primarykey columns of the table in SAP BI Java SDK

    Hi, I'm new to sap BI Java SDK. I'm not getting how to get the primarykey columns, using BI JDBC Connector (for relational data sources). If anybody knows, please let me know. its very very urgent task to be done in my project. In the below following code.... I have written a code to connect to the database through resource bundle, reading table names, once user select table name, i need to show the primary key columns of that table to the user. here i'm not getting how to get the primary key columns . Please send me the code if there is any method to find out the primarykey columns or a logic to get them. I will be greatful to you.... if you can do this favour.
    Please check out the following code ........
    ManagedConnectionFactory mcf;
    IConnectionFactory cf;
    IConnectionSpec cs;
    mcf = new JdbcManagedConnectionFactory();
    cf = (IConnectionFactory) mcf.createConnectionFactory();
    cs = cf.getConnectionSpec();
    ResourceBundle rbLocal = ResourceBundle.getBundle( "xxxx");
    Enumeration propnames = rbLocal.getKeys();
    while (propnames.hasMoreElements())
    String key = (String) propnames.nextElement(); //out.print(key); //out.println("="rbLocal.getString(key)"");
    cs.setPropertyValue(key, rbLocal.getString(key));
    // Establishing the connection. // The IBIRelational interface provides an entrypoint to access // metadata and execute queries.
    IBIConnection connection = (IBIConnection) cf.getConnectionEx(cs); I
    BIRelational rel = connection.getRelational();
    IBIQuery query = rel.createQuery();
    String sqlStatement = "SELECT * FROM " + "BICQPERSON where type='pk'"; ResultSet rs = IBIDataSet dataset = query.execute();
    Thanks SreeKanth

    Hi,
    looks like you are on Infomation Builders, correct? If yes through which adapter and to what DB are you connecting?? in an R3/BW system you can do the folowing:
    "(ABAP)
    SELECT DISTINCT FIELDNAME
    FROM DD03L
    WHERE TABNAME = '/BIC/QPERSON'
      AND AS4LOCAL = 'A'
      AND KEYFLAG = 'X'
    ORDER BY 1
    Another option is goto directly to the RDBMS; in this case let me which one are you using
    hope this helps...
    Olivier.
    Message was edited by:
            Olivier Cora

  • How to get the dynamic columns in UWL portal

    Hi All,
    I am working on UWL Portal. I am new to UWL. I have down loaded uwl.standard XML file and costomized for getting the  values for "select a Subview" dropdown and I am able to see the values in the dropdown. Now my requirement is to get the dynamic columns based on the selection from dropdown value.
    can any body suggest on how to get the dynamic columns in UWL portal.

    Hi  Manorama,
    1) If you have already created a portal system as mentioned in following blog
                  /people/marcel.salein/blog/2007/03/14/how-to-create-a-portal-system-for-using-it-in-visual-composer
    2) If not, then try to create the same. Do not forgot to give the Alias name .
    3) After creating a system, log on to the VC, Create one iView.
    4) Now Click on "Find Data" button from the list which you can view in right side to Visual composer screen.
    5) After clicking on "Find Data" button, it will ask for System. If you have created your system correctly and Alias name is given properly, then your mentioned Alias name is appeared in that list.
    6) Select your system Alias name and perform search.
    7) It will display all the BAPIs and RFCs in your systems.
    8) Select required BAPI and develop the VC application.
    Please let me know if you any further problems.
    Thanks,
    Prashant
    Do reward points for useful answers.

  • How to get invoice status column in ap_invoice_all table

    how to get the invoice_status column like "NEEDS RE VALIDATION"      in account payables tables.

    The invoice approval status does not come from any table / lookup.
    Instead, Oracle builds it by calling the ap_invoices_pkg.get_approval_status function.
    You can also call it by passing invoice_id, payment_status_flag and invoice_type_lookup_code.
    All these 4 columns are present on the ap_invoices_all record.
    Hope this helps
    Sandeep Gandhi
    Independent Consultant

  • How to get two empty columns in reporting?

    Hi Experts,
    How to get Two empty columns in  a report, i have taken a formula and i have given '=0' in the formula box after executing the query that two columns containing zero's, but i don't want zero's, i want to display empty columns.
    pl help to do this,
    thanks & regards
    venakt

    Hi
    In the Query designer go to Properties and Select Active n Zero Supression
    also select Supress Zeros from the drop down.
    Regards
    M.A

  • How to get Auto scroll bar in a JSP?

    Hi Gurus,
    I have created a custom jsp page in a B2B application. How to get the auto scroll bar when page is exceeded than it can display?
    Is there any specific tag or div which is to be included to get this scroll bar?
    Thanks a lot in advance!!
    Regards,
    Lakshman.

    Hi Lakshman,
    You can include it in stylsheet and then use that class in your <body> or "div"  tag.
    the CSS command is
    overflow:auto;
    you can use like
    <body style="overflow: auto;"> or -- div style="overflow: auto;" 
    You can declare class in ".css" file
    #c1
    .c1
    <body id="c1>> or <div id="c1">
    <body class="c1>> or <div class="c1">
    You can use either "class" or "id" by adding it to "CSS" file and the use it to any JSP file or by direct aditing "Style" attirbute in tag.
    so when your content is longer then your screen browser will display scroll bar automatically.
    I hope this will help you.
    Thanks and Regards.
    eCommerce Developer
    Edited by: Ecommerce Developer on Jul 9, 2009 5:58 PM
    Edited by: Ecommerce Developer on Jul 9, 2009 5:59 PM

  • How to get auto proxy configuration from plugin?

    I need to retrieve the name of the client's proxy server to pass it along to my signed applet (because it doesn't seem to be getting the information automatically despite the fact that the java plugin is set to the use the browser settings for proxies).
    The Java Plugin loads the proxy server information based on the browser preferences, but I haven't figured out how to retrieve that proxy information from the Plugin itself. Sometimes the javaplugin.proxy.auto.url system property is null, even if the browser (MSIE) is configured to use an auto-configuration script/url for the proxy server configuration. I can see in the Java Console that the plugin knows the auto-config url, so how can I access that property from within my applet?
    Even if javaplugin.proxy.auto.url is not null, I don't know how to call the javascript function at that URL from within the applet to get the proxy server host name and port.
    Does anyone know how to get the proxy information from the plugin?

    Thank you! Indeed, the answer was there, but I hadn't been able to find it earlier (I guess I was searching on the wrong forums). For those who might be interested, here's the thread that helped:
    http://forum.java.sun.com/thread.jsp?forum=30&thread=281981

  • How to get text from column  labels in pivot using javascript?

    Hi, is it possible to get text from column labels in pivot using javascript? How?

    You don't get a response from a URLRequest, you get the response from a URLLoader:
    View this sample page for URLRequest and URLLoader and I think it'll make more sense to you.
    http://help.adobe.com/en_US/air/reference/html/flash/net/URLRequest.html#URLRequest()

  • ADD Auto Generate column to table

    Hi All,
    I drag my table from dataview , what I want is add new column to it ? I have tried but i couldnt , and add script to that column so
    it come auto generate int numbers?
    thanks

    Hi,
    try to create a new table with the wizard, under the toolbar -> table -> insert table -> create table using assistant.
    Set the body layout, with fixed dimensions or depending or data.
    Then choose if you need a footer and a header.
    Divide the new table in sections if needed.
    Optionally, you even can add row shading to the table.
    Finally, you need to create the correspoding binding between the context and the new created table.
    I hope this solves your problem.

  • How to get table data column by column dynamically

    Hi ,
    first of all
    i have something like this
    cursor sys_cursor is
    select * from sys.all_objects;
    v_data varchar2(200);
    fetch sys_cursor
    into v_owner, v_object_name, v_subobject_name, v_object_id, v_data_object_id, v_object_type, v_created, v_last_ddl_time, v_time_stamp, v_status, v_temporary, v_generated, v_secondary;
    v_data := v_owner || ' ' || v_object_name || ' ' || v_subobject_name || ' ' ||
    v_object_id || ' ' || v_data_object_id || ' ' ||
    v_object_type || ' ' || v_created || ' ' || v_last_ddl_time || ' ' ||
    v_time_stamp || ' ' || v_status || ' ' || v_temporary || ' ' ||
    v_generated || ' ' || v_secondary;
    encrypt(v_data);
    it is ok for "sys.all_objects" but i need to modify this for all tables
    so , i need to know column names of table and type of it and value of it
    then i need to get column values by one by and encrypt it.
    i used dbms_sql and succeed to find column name and type
    however , i couldnt get the values.i can't use dbms_sql.column_values because i find column type dynamically.
    what can i do?
    how can i get table data by row
    and then for each row , i need to get values of columns by one by and encrypt those values.
    any idea is appriciated.
    thanks
    Aykut

    Dynamic SQL is the solution. Right from getting the column names, their data types to passing the string to encrypt function that you have.
    You will need to handle datatypes like LONG, LOB etc... as they cannot be concatenated with strings.
    Also, you need to manage dates and numbers.
    Obviously this would be very complicated code.
    Even if you decide to code the procedure to encrypt tables one by one, still you need to make this procedure dynamic to handle above situations.

  • How to change Auto-generated web service's URL

    Hi,
    is it possible to change/edit the auto-generated url of a web services created with the wizard in SE80 transaction?
    Example:
    Now the wizard generates a URL as following:
    http://<host name>:8080/sap/bc/srt/wsdl/bndg_4BC67655E5155680E10000000A7B0410/wsdl11/allinone/standard/document?sap-client=001
    where the alfa-numeric code 4BC67655E5155680E10000000A7B0410 changes every time I create the service. at the same time and for the reason above, I have to change the LOGICAL DESTINATION with "visual administrator" application to consume the service in SAP Netweaver environment.
    Thanks in advance.
    Luca

    Hi Luca,
    Please refer the below link . it is described that URLs and its Namespaces  . Please check whether its useful.
    [http://help.sap.com/saphelp_nw70/helpdata/EN/8c/780741375cf16fe10000000a1550b0/frameset.htm] .

  • How to get the last column info of the given table

    Hi All,
    I want to get the last column information like :
    column name, datatype of the last column in the given
    table use PL statement. Please help.
    Thanks,
    JP

    SCOTT@orcl SQL> desc emp
    Name                                                  Null?    Type
    EMPNO                                                 NOT NULL NUMBER(4)
    ENAME                                                          VARCHAR2(10)
    JOB                                                            VARCHAR2(9)
    MGR                                                            NUMBER(4)
    HIREDATE                                                       DATE
    SAL                                                            NUMBER(7,2)
    COMM                                                           NUMBER(7,2)
    DEPTNO                                                         NUMBER(2)
    SCOTT@orcl SQL> select column_name, data_type from user_tab_columns
      2  where table_name = 'EMP'
      3  and column_id = (select max(column_id) from user_tab_columns
      4  where table_name = 'EMP');
    COLUMN_NAME                    DATA_TYPE
    DEPTNO                         NUMBER
    SCOTT@orcl SQL>                                                                      

  • How to get Number of Column in Excel file

    Hi All,
                   My requirment is to get Number of Column in Excel file which i want to upload,
      so please suggest if there is any possible way to get this functionality.
    Thanks
    Anirudh

    Use FM "ALSM_EXCEL_TO_INTERNAL_TABLE".
    Adjust the values of i_begin_col & i_end_col parameters in this FM.
      CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
        EXPORTING
          FILENAME                      =
          I_BEGIN_COL                   =
          I_BEGIN_ROW                   =
          I_END_COL                     =
          I_END_ROW                     =
        TABLES
          INTERN                        =
      EXCEPTIONS
        INCONSISTENT_PARAMETERS       = 1
        UPLOAD_OLE                    = 2
        OTHERS                        = 3
      IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    Regards,
    BBR.

Maybe you are looking for

  • Question re Fusion Middleware Repository

    Greetings, Hopefully this is the proper place to post this question and hopefully I can articulate it properly. I am new to Fusion Middleware and I am at the point of using the repository creation utility to manage the repository. This is a new insta

  • Changing the report in one client , it is getting reflected in other client

    Hello experts, We are having one development system(EID) in which we are having two clients.One is development client(100) and one is sandbox client(710).We are having repository object like report.We are changing this report in EID 710 and it is get

  • Show adobe form in different languages

    Hi all, I have a Web Dynpro Application which holds an Interactive Form. This form is translated into several languages. Is there any way to indicate the WDA application which language has to use to open the Adobe Form? The user would have the option

  • I don't have Universal Access in my system preferences?

    I recently upgraded my mac operating system and I want to change my F4 key to Launchpad. Anyway. I need to 'enable assistive devices' in order to use a program that will let me do that. I don't have a Universal Access pane in system preferences thoug

  • Repeating headers for tablix having nongrouped data.

    Hi All, I have one table that contains detail data and header data. But for detail data I need not require the grouped data so I have deleted the row group from by using advanced mode. When ever I am generating report it gives me 4 pages of report. I