Insertion / Update of field of type "TIME" using Native SQL

Hi ABAP gurus,
We are trying to perform inserts and updates within an ORACLE table where a TIME field exists without suscess. We are trying to code it using Native SQL.
EXEC SQL.
INSERT INTO table (field1[name], field2[age], field3[birthday], field4[hour])
VALUES (:name, :age, TO_DATE(:date_birth), ¿:hour?)
ENDEXEC.
EXEC SQL.
UPDATE table SET field3[birthday] = TO_DATE(:date_birth), field4[hour] = ¿:hour?
WHERE field1[name] = :name AND field2[age] = :age
ENDEXEC.
Which is the right coding sentence in order to achieve our goal?
Many thanks in advance. Best regards,
   Imanol

>
Imanol Beguiristain wrote:
> Hi all,
>
> I am sorry for being unclear.
>
> I do want to code both INSERT and UPDATE. That is clear.
>
> The problem we are having is that we don't know how to code (using Native SQL) such instructions using in the SQL sentence a field of TIME type.
>
> Any helps?
>
> Thanks in advance.
>
>   Imanol
I've not heard of an Oracle TIME datatype; we used to use the timestamp which is stored as part of the date or we set up a separate column to hold the time defined as CHAR.  Still, it is possible that they have created such a thing since I last did SQL.  In which case, there would have to be a function like TO_DATE which you would use to convert your time to its time format.
If you mean TIMESTAMP you can use something like the following to do the data conversion.
TO_TIMESTAMP(LOCALTIMESTAMP, 'DD-MON-RR HH.MI.SSXFF')

Similar Messages

  • Insert / Update of a TIME field using Native SQL

    Hi Oracle gurus,
    We are trying to perform inserts and updates within an ORACLE table where a TIME field exists without suscess. We are trying to code it using Native SQL.
    EXEC SQL.
    INSERT INTO table (field1[name], field2[age], field3[birthday], field4[hour])
    VALUES (:name, :age, TO_DATE(:date_birth), ¿:hour?)
    ENDEXEC.
    EXEC SQL.
    UPDATE table SET field3[birthday] = TO_DATE(:date_birth), field4[hour] = ¿:hour?
    WHERE field1[name] = :name AND field2[age] = :age
    ENDEXEC.
    Which is the right coding sentence in order to achieve our goal?
    Many thanks in advance. Best regards,
       Imanol

    Hi
    There is no TIME datatype in oracle. There is only a TIMESTAMP or DATE type or the field is VARCHAR2 as most date fields in a SAP database are. To help you we would need the real field type. If possible you please do a desc <owner>.<table> in a sqlplus session and give us the field type.
    If possible also supply the error you get.
    Regards, Michael

  • Update sql server database field of type datetime using jsp

    I'm working in a jsp applicaion which use SQL server 2000 as database. I need to update database field with current time, so I used a bean for that in which I used following method:
    public java.sql.Time getSqlTime(){
    Calendar cal=Calendar.getInstance();
    cal.setTime(new Date());
    java.sql.Time sqlTime=new java.sql.Time(cal.getTime().getTime());
    return sqlTime;
    when I print the time on a page using this method works properly, but I update a database field of type datetime, it takes correct time but updates with '01/01/1900 12:26:46 PM' like that. I need only time , how can I correct this?
    Thank you

    public java.sql.Time getSqlTime(){
    Calendar cal=Calendar.getInstance();
    cal.setTime(new Date());
    java.sql.Time sqlTime=new
    java.sql.Time(cal.getTime().getTime());
    return sqlTime;
    }to get the Time for current time, you can just simply do
    java.sql.Time sqlTime = new java.sql.Time(System.currentTimeMillis());I dun know about SQL server 2000... but thinked that you should declare you
    field as time rather as datetime.

  • Input Field of Type Time Unable to Keep Input Value

    Hi,
    I am facing the following problem:
    I am using an input field of type time that initially its value comes from a BAPI call. I want though to be able to change its value and use the same field as import parameter for another BAPI. The value of the field is populated correctly from the first BAPI but when I try to change it, the value disappears and it does not keep what I type within the field i.e. the field remains empty.
    Could you please let me know how to resolve this problem?
    Thank you in advance.
    Kind Regards
    Michael

    which runtime do you use?
    which version of VC?

  • How to display more than 24hrs in a field of type TIMS

    Hi,
    I have 3 fields of type TIMS.I am trying to enter let's say 12:30 and 12:30 in two fields and sum up those two fields in 3rd field.But since it is a TIMS datatype it sums up 12:30+12:30 = 25 and it divides by 24(hours in a day) and shows just 1 instead of 25.
    How do i make the 3rd field display 25 instead of 1 without changing the datatype.
    Here is my code
    data: time1 type tims,
    time2 type tims,
    time3 type tims.
    time3 = time1 + time2.
    Thanks
    Bala Duvvuri

    I solved it by modifying the data type for the 3rd field
    Thanks
    Bala Duvvuri

  • Insert into external DB using native SQL

    Hi,
    Is there any easier way to insert data in to External DB using native SQL insert.
    there are 250 columns to be inesrted. table structures in SAP and ext db are same.
    Thanks in Advance
    Somesh

    Hi someswara,
    Creating a dynamic statements using Native SQL is a bit tough task. I don't think anyone might have tried it. Instead you can write down the all columns as it is one time activity only, and by the time you will find solution you will be ready with your queries :).
    Reward points if useful.
    Regards,
    Atish

  • Using native sql for update

    Hello ,
    I have a reqaust to update a db table declared "outside" our R3 db.
    I mennage to select the data using native sql with a connection to the db.
    Now i need to modify the data on the db.
    Is there a similliar command like "fetch next" ' for update?
    Mybe i need to build a procedure in th "host" db and use its own commands to update?
    Thanks,
    koby

    Hello Kobi,
    Which release of SAP are you woking on?
    If you're on ECC6.0, instead you using Native SQL to call the stored procs of external DBs you can use the [ADBC APIs |http://help.sap.com/abapdocu_702/en/abenadbc_procedure.htm](CL_SQL* classes).
    BR,
    Suhas

  • Using Native SQL in ABAP for DB2 database

    Dear Friends,
           I have 500K records in ITAB(Internal table) which needs to insert in 'Z' transparent table. Currently it is taking hours of time for insertion and commit. 
    Does using Native SQL helps in performance or any suggestions? If so please send the code. Our database is DB2.
    Your immediate reply is appreciated. Thanks in advance.

    Hi Rama,
    Using array inserts and commit after each Insert, set up your array size as a parameter and try  different array sizes.
    I would start with 2000 and increment by 1000 or 2000 and see what the optimal array size is.
    I would think more commits are desirable, as the array gets bigger it takes longer for the system to prepare in the event of a rollback.
    Just remember to commit after each insert. And are you enqueueing the table first?
    Hope this helps.
    Filler

  • How to get oracle 9i blob column into an itab  in sap using Native SQL

    Hi ,
    We are using SAP ECC 5.0  and we need to coonect to an oracle database ver 9i rel2.
    We need to get the data stored in a blob(pdf/jpeg) into an itab and later
    use it for futher processing.
    I am familiar with using native SQL and I wrote a stored procedure in the non sap oracle database to send the blob info into an internal table in sap.
    But the information is in hex format and the long raw of SAP does not handle this very well.
    Plz see my code below.
    data: itab_insp_drawing like zpicture_cluster(which is of type lraw - 7902 )
          occurs 100 with header line.
    EXEC SQL.
        EXECUTE PROCEDURE
           proc_get_insp_drawings  (
                   IN  :itab-aq_id,
                   IN  :itab-section_id,
                   IN  :t_in_position,
                   out :itab_insp_drawing-picture,
                   OUT :t_blob_length,
                   out :t_out_position,
                   OUT :t_status  )
       ENDEXEC.
      append itab_insp_drawing.
      while t_out_position < t_blob_length.
       EXEC SQL.
        EXECUTE PROCEDURE
           proc_get_insp_drawings  (
                   IN  :itab-aq_id,
                   IN  :itab-section_id,
                   IN  :t_in_position,
                   out :itab_insp_drawing-picture,
                   OUT :t_blob_length,
                   out :t_out_position,
                   OUT :t_status  )
       ENDEXEC.
       append itab_insp_drawing.
       endwhile.
    Any ideas of how to handle blobs from non sap oracle table. I need this blob into an itab in sap.
    Help appreciated.
    Thanks
    Mala

    Please refer the example in this link which deals with Oracle date format.
    You can finnd a command DECODE which is used for date formats. If you have a look at whole theory then you will get an idea.
    Link:[Bulk insert SQL command to transfer data from SAP to Oracle|http://sap.ittoolbox.com/groups/technical-functional/sap-dev/bulk-insert-sql-command-to-transfer-data-from-sap-to-oracle-cl_sql_connection-3780804]

  • Who to use Native SQL statements in ABAP

    hi all,
    who to use native sql staements in abap bypassing Application server.
    with regards,
    suresh babu aluri.

    Hi
    Native SQL statements define an area in an ABAP program in which one or more Native SQL statements are to be carried out. The area between EXEC and ENDEXEC is not completely checked by the syntax check. The statements entered there are passed to the Native SQL interface and processed there as follows:
    Almost all SQL statements that are valid for the addressed database system can be included between EXEC and ENDEXEC, in particular the DDL statements. These SQL statements are passed from the Native SQL interface to the database system largely unchanged. The syntax rules are specified by the database system, in particular the case sensitivity rules for database objects. If the syntax allows a separator character between individual statements, you can include several Native SQL statements between EXEC and ENDEXEC. Generally, the semicolon ( is used as the separator character.
    You can also include SAP-specific Native SQL language elements between EXEC and ENDEXEC. These statements are not passed directly from the Native SQL interface to the database, but are converted appropriately.
    All Native SQL statements bypass SAP buffering.
    The ENDEXEC statement sets sy-dbcnt to the number of table rows processed in the last Native SQL statement. After implicit cursor processing with PERFORMING, sy-dbcnt contains the total number of lines read.
    Programs with Native SQL statements are generally dependent on the database system used, so that they cannot be executed in all ABAP systems. This is especially true for the examples in this section, which was written for Informix database systems.
    Example
    Inserting two rows in the database table SCARR. If neither of these rows exists, sy-subrc is set to 0 by ENDEXEC and sy-dbcnt to 1. Otherwise, an exception is raised and handled.
    DATA: exc_ref    TYPE REF TO cx_sy_native_sql_error,
          error_text TYPE string.
    TRY.
        EXEC SQL.
          INSERT INTO scarr
                      (MANDT, CARRID, CARRNAME, CURRCODE, URL)
            VALUES ('000', 'FF', 'Funny Flyers', 'EUR',
                    'http://www.ff.com');
          INSERT INTO scarr
                     (MANDT, CARRID, CARRNAME, CURRCODE, URL)
            VALUES ('000', 'EF', 'Easy Flyers', 'EUR',
                    'http://www.ef.com');
        ENDEXEC.
      CATCH cx_sy_native_sql_error INTO exc_ref.
        error_text = exc_ref->get_text( ).
        MESSAGE error_text TYPE 'I'.
    ENDTRY.
    Reward points if useful
    Regards
    Anji

  • Program using Native SQL ... Need suggestion.. Look into code

    Hi Friends ,
    I need your Inputs to solve the new requirement , which need to be solve using Native SQL,
    For this i need to connet to data base 'SIP'.
    The table used for this  are SAPI.TRANSACTION
    fields in SAPI.TRANSACTION
             -  SYSTEMCODE
             - BATCH_ID
         and more
    the above two fields are selection parameters based on which i need to get data :
    please rectify the code and also  help me in this
      TRY.
          EXEC SQL.
            CONNECT TO :'SIP'
          ENDEXEC.
          IF sy-subrc NE 0.
    Error Message
          ENDIF.
          EXEC SQL.
            OPEN dbcur FOR
              SELECT SYSTEM CODE   BATCH_ID
                     FROM SAPI.TRANSACTION
    can i use where condition here , i tried to put the selection parameters here
    and tried to put the internal table , but the programs gets terminated,
    How should i get the fields from table SAPI.TRANSACTION
           IF sy-subrc <> 0.
           RAISE EXCEPTION TYPE cx_sy_native_sql_error.
           ENDIF.
          ENDEXEC.
    DO.
      EXEC SQL.
          FETCH NEXT dbcur INTO :BATCH_ID
    Here i want to get batch id and delete data from other table SAPI.BATCH
      ENDEXEC.
      IF sy-subrc <> 0.
        EXIT.
      ELSE.
      ENDIF.
    ENDDO.
          EXEC SQL.
            CLOSE dbcur
          ENDEXEC.
          EXEC SQL.
            DISCONNECT :'SIP'
          ENDEXEC.
      ENDTRY.

    Hi Anirban, I tried that and it still gives the same error:
    - "itab_mytable" cannot be a table, a reference, a string, or contain any of these objects. any of these objects"
    itab_mytable has been declare as an internal table.
    Basically, from the code in the link you gave me, I have made the following changes:
    REPORT demo_native_sql.
    TYPES: BEGIN OF st,
            connid   TYPE spfli-connid,
            cityfrom TYPE spfli-cityfrom,
            cityto   TYPE spfli-cityto,
          END OF st.
    DATA: itab_mytable TYPE TABLE OF st.
    <...>
    EXEC SQL.
      SELECT connid, cityfrom, cityto
      INTO   :itab_mytable
      FROM   spfli
    ENDEXEC.
    But this doesn't work. If the internal table is replaced with a one-lined work area, then the select statement works.

  • How to use Native SQL String

    Hi all,
    How do i use Native SQL String in the Reciver JDBC Adapter.
    Do i need to change the message format could u suggest me some blogs on the same.
    Also please can anyone let me knw if i can use this for stored procedure.

    hi aditya,
    there shud be no format as such. for sql xml format there are specific structure. but for native sql there shudnt be any specific structure.
    as pointed in sap documentaion:
    Instead of an XML document format, a text is expected that represents any valid SQL statement.
    When inserting a line into a table the corresponding document looks as follows:
    INSERT INTO tableName  (column-name1, column-name2, column-name3) VALUES(‘column-value1’, ‘column-value2’, ‘column-value3’)
    so jus make sure that u give a valid sql statement becoz if will be passed as it is to the database and try ur scenario.
    regards,
    latika.

  • How I can create dynamically-formed requests or use native SQL in EJB?

    Hi all.
    I'm working around modify an example from NetWeaver Developer Studio (CarRental). I want to get ordered data from table and allow users to specify the ordering field, not in the code. EJB QL doesn't support dynamically-formed queries like "select object(b) from QuickBooking b where b.status like ?1 order by b.<b>?2</b>" so i can't passing field name as parameter into query. Creating a sorting method for every field is not good solution because I need a dynamically-formed requests.
    I think using native SQL will help but I don't know how I can use SQL in EJB.
    Thanks,
    Lev

    import javax.persistence.EntityManager;within class, place
    protected EntityManager  entityManager;of course make it public, private, whatever you need.
    Then, in your method
    entityManager.createNativeQuery(....);R. Grimes

  • What is native sql when i use native sql

    what is native sql & when i use native sql plz give with me example

    I imagine you mean Native Dynamic SQL, NDS. An example would be:
    EXECUTE IMMEDIATE 'select count(*) from ' || v_tablename INTO v_count;
    i.e. you construct the SQL "dynamically" as a string and then execute it.
    You would use it in situations where you could not know the precise query when building the code - e.g. as above, if you don't know which table to count the rows from until run time.

  • How to use Native SQL statement in JDBC receiver interface

    Dear All,
    Can any one please help us in using Native SQL statement in a JDBC receiver channel. The reason why I need to use Native SQL statement instead of standard XML structure is that I need to execute a dynamic SQL query in third party database system lke:-
    Select Field1 Field2 from TABLE Where Field3 like "%Name'
    I expect the the response in the form of XML file which I can pick up using synchornous interface as mentioned on help.sap.com:-
    http://help.sap.com/saphelp_nw04/helpdata/en/64/ce4e886334ec4ea7c2712e11cc567c/frameset.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/64/ce4e886334ec4ea7c2712e11cc567c/frameset.htm
    The value for %Name can change dynamically according to the transaction and hence cannot be inluded as a KEY element in standard XLM structure,
    Hence I need to know:-
    1. What message mapping I should use in case if I have to use Native SQL statement.
    2.What operation mapping I should use in case if I have to use Native SQL statement.
    If guess correclty I may have to use Java mapping to do the above activities. Hence I want to know
    3 .How do to go about it to do the Java mapping.
    Thanks
    Ameet

    >
    Ameet Deshpande wrote:
    > Dear All,
    >
    > Can any one please help us in using Native SQL statement in a JDBC receiver channel. The reason why I need to use Native SQL statement instead of standard XML structure is that I need to execute a dynamic SQL query in third party database system lke:-
    >
    > "
    > Select Field1 Field2 from TABLE Where Field3 like "%Name'
    > "
    > I expect the the response in the form of XML file which I can pick up using synchornous interface as mentioned on help.sap.com:-
    >
    > http://help.sap.com/saphelp_nw04/helpdata/en/64/ce4e886334ec4ea7c2712e11cc567c/frameset.htm
    > http://help.sap.com/saphelp_nw04/helpdata/en/64/ce4e886334ec4ea7c2712e11cc567c/frameset.htm
    >
    > The value for %Name can change dynamically according to the transaction and hence cannot be inluded as a KEY element in standard XLM structure,
    >
    > Hence I need to know:-
    >
    > 1. What message mapping I should use in case if I have to use Native SQL statement.
    > 2.What operation mapping I should use in case if I have to use Native SQL statement.
    > If guess correclty I may have to use Java mapping to do the above activities. Hence I want to know
    > 3 .How do to go about it to do the Java mapping.
    >
    > Thanks
    > Ameet
    You can use a stored procedure, and call it from jdbc receiver adapter.
    I also solve this issue, with a DBLookup in message mapping. You can refer to my blog, and this usefull 3d:
    http://simonlesflex.wordpress.com/2010/12/07/pi-oracle-dblookup/
    /people/alessandro.guarneri/blog/2006/03/27/sap-xi-lookup-api-the-killer
    /people/siva.maranani/blog/2005/08/23/lookup146s-in-xi-made-simpler

Maybe you are looking for