SELECT ROWID using ABAP without Native SQL ?

Hi All,
is that possible to query Oracle ROWID from ABAP without using Native SQL ? Please advise.
Thank You and Best Regards
FL

Since this is usually not relevant for application programming and also database specific, I'm fairly sure this information hidden by the DBI and you cannot access it via Open SQL, so native SQL seems to be your only choice.
Thomas

Similar Messages

  • How to select column used in parameter in sql

    Hi,
    I have one View in which I am calling Function,
    Below is the part of that Function. I am passing @Column_Name as parameter. I have total 3 Columns which I am using in my view form this function.
    Now I have one issue in this SQL Query, instead of taking values from 'Alle' (or 'MeAlle', 'CurrentMe')column, my select statement is taking 'Alle' as value. I tried with Dynamic SQL but didn't work out for me.
    Please help me on this below Query. Thanks in advance. 
    DECLARE @Column_Name varchar(max)
    SET @Column_Name = 'Alle' -- Alle, MeAlle, CurrentMe
    DECLARE @TempAlleMes TABLE 
    ( PId int NOT NULL,
      Id nvarchar(max) NULL,
      Name nvarchar(max) NULL
    INSERT INTO @TempAlleMes(PId,Id,Name)
    SELECT p.PId,  
    NullIf(SubString(',' + @Column_Name + ',' , t.ID , CharIndex(',' , ',' + @Column_Name + ',' , t.ID) - t.ID) , '') , ''  
    FROM dbo.[Tally] t,[P_PsVs].dbo.[PInfo] p
    WHERE t.ID <= Len(',' + @Column_Name + ',')
    AND SubString(',' + @Column_Name + ',' , t.ID - 1, 1) = ','  
    AND CharIndex(',' , ',' + @Column_Name + ',' , t.ID) - t.ID > 0 
    and p.Pid = 302074
    select * from @TempAlleMes
    Vicky

    This is a terrible table design.
    Anyway, assuming you need to work with such design, you need to create fnSplit function in your database first. You can get any kind of implementation for such function, say, there is a blog by Jeff Moden that still has lots of discussion (I subscribed to
    that discussion and get emails - too bad they only say there is a new reply instead of giving the reply):
    http://www.sqlservercentral.com/articles/Tally+Table/72993/
    So, once you have that splitting function in your database you can normalize your table using the following:
    select T.*, F.Value, F.Id from myTable T CROSS APPLY dbo.fnSplit(T.Alle, ',') F
    If you need to split several columns, then it will be a bit more complex as you would need to split each individual column separately using the above code and cte and then use the FULL JOIN based on main table PK and function's ID column to join the results.
    For every expert, there is an equal and opposite expert. - Becker's Law
    My blog
    My TechNet articles

  • Using Native SQL in Web Dynpro for ABAP

    Hi folks,
    I am trying to access an oracle database in web dynpro for ABAP via Native SQL.
    I am able to read row by row from the database into a work area, but I am unable to read the whole table from the database into an internal table.
    Please advise as to how I can do this, and thanks for reading.
    PS: Thomas, I wasn't off-topic on the previous thread; I forgot to mention that I was trying to do this under Web Dynpro for ABAP.

    Hello,
    it doesn't matter if you try this with Web Dynpro ABAP, BSP or any other framework, this is a general ABAP question and not related to this forum.
    Regards,
    Rainer

  • Is it possible to call an external web service using ABAP?

    Hi~~
    I wonder that is possible to use an external web service in SAPGUI using ABAP without PI ( Process Integraion ).
    The external web service means the service that is developed by web-language like ASP.NET.
    Thank you.

    hi,
    i'm trying to study on how to use the oracle bi publisher using another client application aside from oracle. the client application is custom and uses a .Net framework. unfortunately, i am not familiar with how .Net sends requests to oracle bi publisher so i was thinking that may be i can just create oracle pl/sql stored procedures that can send this requests over to bi publisher.
    p.s. when you said concurrent manager, i'm not sure if you are referring to oracle apps concurrent manager but if you are, unfortunately i won't be using oracle apps with bi publisher.
    thanks
    allen

  • When execute native SQL....

    I want to create a table using Report with native SQL
    the code as blow:
    ===============================================
    REPORT ZDF100001 .
    EXEC SQL.
      CREATE TABLE ZZDEF50 (
             MANDT         CHAR(3)  NOT NULL,
             ZZFDTYPE      CHAR(1)  NOT NULL,
             ZZFLINENO     CHAR(4)  NOT NULL,
             ZZFCOUNTER    CHAR(3)  NOT NULL,
             ZZFSHKZG      CHAR(1),
             ZZFRACCT_F    CHAR(10),
             ZZFRACCT_T    CHAR(10),
             PRIMARY KEY (MANDT, ZZFDTYPE, ZZFLINENO, ZZFCOUNTER)
    ENDEXEC.
    =========================================
    when I execute and create it. but I can't find it in Dictionary (SE11) . So I do it again .the Error shows that the object table has already exist....why I can't find it in SE11?
    My requirement is to create a transaction table and insert some data at first time the porject running.
    But I don't want to create it with SE11 manually.
    Can anybody help me to solve the problem?
    thanks a lot.

    That is the most harmful way you are misusing the native SQL feature. If you are aware of the SAP database concepts, you will know that it is a logical database layer that SAP works with. That is the only way SAP can make its database objects independent of the database platform chosen. When you install SAP and tell that you are going to use Oracle as the database, then the database layer will issue the native commands to create the whole database schema in Oracle. That is the reason why you have to create/change/delete/display data dictionary objects through SAP transactions.
    When you create a table through SE11, the table is not only created in the underlying Oracle database, the metadata of the table is stored in other SAP tables (DD02L, DD03L are some examples where this metadata is stored). So when you access the same table, system will read the metadata first.
    If you want to create the table programatically, use some function module like DDCREATETAB*

  • SCCM 2012 SP1 - Native SQL backup

    HI Experts,
    I got native SCCM 2012 SP1 SQL backup content (But no site server backup). Can i still restore the SCCM 2012 SP1 primary site server. Please advice
    Regards, Pratap

    With Configuration Manager 2012 SP1+, it is possible to recover a site (secondary sites don’t count) using a standard, native SQL Server database backup.
    "Configuration Manager can recover the site database from the Configuration Manager backup maintenance task or from a site database backup that you perform by using another process. For example, you can restore the site database from a backup that is performed
    as part of a Microsoft SQL Server maintenance plan. Starting in Configuration Manager SP1, you can restore the site database from a backup that is performed by using System Center 2012 Data Protection Manager (DPM). For more information,
    see
    Using Data Protection Manager to Back up Your Site Database."
    http://technet.microsoft.com/en-us/library/gg712697.aspx#BKMK_SiteDatabaseRecoveryOption

  • # coming when I select data from oracle table using Native SQL

    Hi Gurus,
    I am selecting 'First name' from oracle table directly using native sql. I am fetching 65000 records but 10+ records having '#' at the end of firstname. For eg: John#.
    But oracle team couldn't find '#' in their table for those records. What could be problem?
    or what could be the character in oracle which comes as '#' in abap?
    Pls help...
    Saj

    Thanks for replies.
    My DB NLS_PARAMETER is AL32UTF8. I am able to pullout data with older version of ojdbc jar file. So I think there is no issue regarding NLS setting.
    So please guide me with proper solution as soon as possible.

  • Use of native SQL-select statment

    hi,
    in my z-abap i use a native sql, saying the following:
    EXEC SQL.
      select agzdau into :gf_agzdau from APZD08/AG
                    where AGMAID = '77732' and
                          AGJAHR = 2008 and
                          AGMON  = 09 and
                          AGSPAL = 'ZASALD'
                          %_HINTS AS400 'HARD_CLOSE'
    ENDEXEC.
    before that i make a connection to the server where the table is stored.
    APZD08 is the library and AG is the filename (on a AS/400-machine)
    BUT: the file is not always in APZD08-lib, it depends on the employee.
    how can i make the lib-name and file flexible:
    i have tried it with
    select...............from :gf_file
    and i have put a value for gf_file before.
    but with that i got an SQL-error -104 when executing.
    i can't use a hostvariable there it seems.
    any ideas ?
    reg, Martin

    Hi.
    I would use ADBC instead of EXEC SQL. Then you can concatenate the SQL statement in the way you want it. But in that case you should use host variables in the where condition to get better performance.
    So something like the following (untested, no syntax check yet, pseudo code...):
    DATA: p_con_name   TYPE dbcon-con_name,
          p_con_ref    TYPE REF TO cl_sql_connection,
          p_stmnt      TYPE REF TO cl_sql_statement,
          p_result_set TYPE REF TO cl_sql_result_set,
          query        TYPE string.
    p_con_ref = cl_sql_connection=>get_connection( 'YOURCON' ).
    LOOP AT it_employees
    * CASE your logic
    CONCATENATE 'select agzdau from '  table_name
                'where  AGMAID = ? and AGJAHR = ?'
           INTO statement SEPARATED BY SPACE.
    * ENDCASE
    TRY.
      p_stmnt = p_con_ref->create_statement( ).
      GET REFERENCE OF p_agamaid INTO p_paramref.
      p_stmnt->set_param( p_paramref ).
      GET REFERENCE OF p_agjahr INTO p_paramref.
      p_stmnt->set_param( p_paramref ).
      p_result_set = p_stmnt->execute_query( query ).
      GET REFERENCE OF gf_agzdau INTO p_resultref.
      p_result_set->set_param( p_resultref ).
      p_result_set->next( ).
      CATCH CX_SQL_EXCEPTION.
    * error handling needed!
      ENDTRY.
    ENDLOOP.
    p_con_ref->close( ).
    Oh, I was assuming that there is only one result. If there can be more (and better style anyway) do a while-loop until next( ) is different from zero.
    Best regards,
    Jan

  • 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

  • Using Select option in Native SQL

    Hi,
    Can any one tell me, how to use select option value in native SQL.
    ie.,
    I want to use select option in where condition. Need to select all the records from table(non-SAP) where date in given range.
    Please suggest.
    Thanks,
    Amal

    Hi
    No!
    U need to find a way to convert a range of select-option to a range for Native SQL, probably it should be better doesn't use a select-option for the date but two parameters: one for date from and one for date to.
    Max

  • Are there any risks to use native sql in ABAP to access external DB

    here is a requirement to use native sql in abap program to access external DB to load some data into sap. Are there any risks and effects which SAP not recommend ?
    Can anybody show some official document to me because I want to know some risks and dangerous to report to my manager..thanks very much.

    hi Anversha s 
    thank you for your reply
    I means what's the risk when to use native sql to access external DB..
    can you show me some examples about open sql which is used to access external DB...
    Now I am investigating the technique about the connection
    between SAP (by abap program) and external DB...the supporter suggestion is to use native sql to access external DBs.but my manager is afraid of the risks when to use native sql,So I have to report the effective document (example: SAP official document) to explain  to my manager.
    thanks very much

  • 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

  • SELECT on TIMESTAMP field from ABAP with EXEC SQL

    Hello,
    I'm trying to get a field of one table which is defined as TIMESTAMP. MaxDB parameter DATE_TIME_FORMAT is set to INTERNAL. When I do the SELECT in SQL Studio I get ISO format 'YYYY-MM-DD HH:MM:SS.MMMMMM' back. So I tried a SELECT with ISO in WHERE clause, but I'm always getting a shortdump with this error:
    Database error text........: "POS(82) Invalid date input value"
    Database error code........: "-3065"
    Then I did a SELECT without a WHERE clause in ABAP and got value '06-FEB-09' back from this field. So I tried with this ABAP statement and got no shortdump, but I also need to add time and not only the date.
      EXEC SQL.
        SELECT recv_time INTO :l_time FROM ztest WHERE sent_recv_time = '06-FEB-09'
      ENDEXEC.
    I'm using Native SQL because the SELECT is on a table which is not located in SAP Schema User. "SELECT recv_time FROM ztest WHERE recv_time = '2009-02-24 10:02:55.888000'" works in SQL studio, but not from ABAP.
    Does anyone know which format I need to specify in the WHERE clause?
    Regards
    Markus Karsch
    Edited by: Markus Karsch on Feb 26, 2009 4:22 PM

    >
    Thomas Theodor Koetter  wrote:
    > Hello Markus
    >
    > I don't know whether this will work from ABAP, but at least MaxDB can internally handle the ODBC literals for time, date and timestamp.
    >
    > Therefore literals like
    >
    > "{d'0001-02-03'}"
    > "{t'01:02:03'}"
    > "{ts'0001-02-03 04:05:06'}"
    >
    > might work. See [http://msdn.microsoft.com/de-de/library/ms190234(SQL.90).aspx]
    >
    >
    > HTH & regards  Thomas
    Hi Thomas,
    Thanks for your help. Unfortunately doesn't seem to work, I get following shortdumps (tried with 3 different notations):
    Database error text........: " "
    Database error code........: "-4005"
    Triggering SQL statement...: "SELECT xxxxxx, status, sent_xxxx_time FROM
    xxx_xxxxxxxxx WHERE sent_recv_time = "{ts'2009-02-06 04:05:06'}""
    Database error text........: "POS(87) Invalid keyword or missing delimiter"
    Database error code........: "-3008"
    Triggering SQL statement...: "SELECT xxxxxx, status, sent_xxxx_time FROM
    xxx_xxxxxxxxx WHERE sent_recv_time = '{ts' 2009-02-06 04:05:06 '}'"
    Database error text........: "POS(81) Missing value specification"
    Database error code........: "-5010"
    Triggering SQL statement...: "SELECT xxxxxx, status, sent_xxxx_time FROM
    xxx_xxxxxxxxx WHERE sent_recv_time = { ts '2009-02-06 04:05:06.000' }"
    Regards
    Markus

  • Use Of "#EC CI_EXECSQL in ABAP with EXEC SQL. Statement giving Syntax Error

    Dear Gurus,
    I have encountered an issue while trying to remove warning for using Native SQL statement using pseudo comment "#EC CI_EXECSQL
    The thing is like this -- i have used follwing native sql command in abap.
    EXEC SQL.
        CONNECT TO 'SURROUND_DB'
      ENDEXEC.
    Now when i am checking this code in code inspector it is showing a warning with information below
    CA CL_CI_TEST_CRITICAL_STATEMENTS0006
    Code Inspector
    Critical Statements
    Use of Native SQL
    Authorization checks cannot be appropriately run using EXEC SQL and should be carried out at program level.
    The message can be hidden using the pseudo-comment "#EC CI_EXECSQL
    Use of exceptin handling section for that warning showing me to use :
    The message can be hidden using pseudo
    comment      "#EC CI_EXECSQL
    Now when I am using "#EC CI_EXECSQL in the abap like below :
    EXEC SQL. "#EC CI_EXECSQL
        CONNECT TO 'SURROUND_DB'
      ENDEXEC.
    It is giving syntax error
    The text literal ""#EC CI_EXECSQL        " is longer than 255
    characters.Check whether it ends correctly.
    Please provide the guideline to resolve this issue.
    Thanks & regards
    Saifur Rahaman.

    Hi Saifur,
    You can remove the warning using the following syntax:
    EXEC "#EC CI_EXECSQL
      SQL.
        CONNECT TO 'SURROUND_DB'
      ENDEXEC.
    At least, it worked fine for me when using OPEN CURSOR, SELECT, FETCH and so on statements.
    The way to use the pseudo comment is not very intuitive, but at least for my examples worked fine.
    I hope this may help you.
    Best regards,
    Edgardo G. König

  • CREATE VIEW in ABAP (Open SQL or Native SQL)

    Hi all you experts!
    I want to create a VIEW in ABAP. I have created Table Views using ABAP Dictionary (in transaction SE11), I don't have any problem with them.
    But, what I need is to create a dynamic view, I mean, a view that can be created/replaced (or modified) at runtime. Is this possible with SAP Open SQL, I don't think so... that is why I tried to created using native SQL but it is not working.
    Here is the code:
      EXEC SQL.
        CREATE VIEW [ZMXRFIV_GLPCA]
          AS SELECT
             T1.GL_SIRID,
             T1.POPER,
             T1.RBUKRS,
             T1.RPRCTR,
             T1.RACCT,
             T1.HSL
          FROM
             GLPCA T1
          INNER JOIN
             SKA1 T2
          ON
             T1.RACCT = T2.SAKNR
          WHERE
            T1.RVERS      =  '000'
            AND T1.RYEAR  =  '2008'
            AND T1.KOKRS  =  'PI01'
            AND T2.KTOPL  =  'PI00'
            AND T2.XBILK  <> 'X'.
      ENDEXEC.
    I have tried using quotes (") for the view name, parenthesis and even using only the name but this make no difference.
    Do any of you experts have any idea?
    PS: After creating the view I need to do a SELECT INTO TABLE to that view and finally delete this view and continue working with the data on the internal table.

    Hi ,
    oh yes it is an object (well, how the database should handle it in any context if it wasn't)
    i.e. for ORACLE you would have several thousands of them:
    select count(*) from dba_objects where object_type ='VIEW'
    If you avoid some kind of foreground processing (i.e. pull the data over the network) and handle the processing inside the database it can improve somehow performance a little (i.e. using the retieved rows of the view to stuff into a database table directly). But his may not always possible...
    bye
    yk

Maybe you are looking for

  • Invoice by e-mail to multiple mail ids

    Hi, I have a requirement to send the sales invoice by e-mail to multiple mail id's. Mail ids will be maintained in the customer master record --> General Data -- > Contact Person TAB. Please help me inconfiguring this scenario in detail. Thanks Parve

  • HT204074 How do I unassociate a iPod from my iTunes?  I want to get rid of an old one

    How do I unassociate an old iPod from my iTunes?   Getting rid of an old 20GB iPod.

  • Cell Phone Signal Noise

    Hi there, I have recorded an interview but a problem I have is that there is feedback coming through from a cell phone. The noise is that of a beeping like when a cell phone is connecting to a base station. I want to remove this from the interview. A

  • AP HREAP NOT WORKING - NO DHCP, NO INTERNET

    Current Setup WLC > WAN < AP AP is in HREAP mode The Wireless SSID shows up at the remote site Clients can associate to the SSID on the AP (HREAP) But it's not handing out DHCP address From the AP (HREAP mode) I cannot ping the WLC (connected via WAN

  • Imovie 10.0.4 locks up.

    I have Imovie 10.0.4 and everytime i try to create a new project or upload clips the program shuts down my laptop. i re-start my laptop and a report is sent to apple. a stability update was installed july 2014 but nothing has changed! i took my lapto