Dynamic read from table  with DBMS_SQL Block

Hi,
In the orcale8 Application developer's Guide is this example:
-- To select everything from this table and move it into four PL/SQL tables, you could use the following simple program:
c number;
d number;
n_tab dbms_sql.Number_Table;
d_tab1 dbms_sql.Date_Table;
v_tab dbms_sql.Varchar2_Table;
d_tab2 dbms_sql.Date_Table;
indx number := 10;
begin
c := dbms_sql.open_cursor;
dbms_sql.parse(c, 'select * from multi_tab order by 1', EXEC_sql.V7);
dbms_sql.define_array(c, 1, n_tab, 5, indx);
dbms_sql.define_array(c, 2, d_tab1, 5, indx);
dbms_sql.define_array(c, 3, v_tab, 5, indx);
dbms_sql.define_array(c, 4, d_tab2, 5, indx);
d := dbms_sql.execute(c);
loop
d := dbms_sql.fetch_rows(c);
dbms_sql.column_value(c, 1, n_tab);
dbms_sql.column_value(c, 2, d_tab1);
dbms_sql.column_value(c, 3, v_tab);
dbms_sql.column_value(c, 4, d_tab2);
exit when d != 5;
end loop;
dbms_sql.close_cursor(c);
Here the four tables can be used for anything at all. One usage might be to use BIND_ARRAY to move the rows to another table by using a query such as 'INSERT into SOME_T values(:a, :b, :c, :d);
exception when others then
if dbms_sql.is_open(c) then
dbms_sql.close_cursor(c);
end if;
raise;
at the second 'dbms_sql.define_array' comes an ORA-0600 error.
What's wrong ?

Some solutions posted here : {message:id=9689485}

Similar Messages

  • Help to read a table with data source and convert time stamp

    Hi Gurus,
      I have a req and need to write a ABAP prog. As soon as i excute ABAP program it should ask me enter a data source name, then my ABAP prog has excute teh code, in ABAP code i have to read a table with this data source as key, sort time stamp from table and should display the data source and time stamp as output.
    As follows:
    Enter Data Source Name: 
    Then user enters : 2lis_11_vahdr
    Then out put should be "Data source  :"  10-15-2008.
    The time stamp format in table is 20,050,126,031,520 (YYYYMMDDhhmmss). I have to display as 05-26-2005. Any help would be apprciated.
    Thanks,
    Ram

    Hi Jayanthi Babu Peruri,
    I tried to extract YEAR, MONTH, DAY separately and using
    EDIT MASK written it.
    Definitely there will be some STANDARD CONVERSION ROUTINE will be there. But no idea about it.
    DATA : V_TS      TYPE TIMESTAMP,
           V_TS_T    TYPE CHAR16,
           V_YYYY    TYPE CHAR04,
           V_MM      TYPE CHAR02,
           V_DD      TYPE CHAR02.
    START-OF-SELECTION.
      GET TIME STAMP FIELD V_TS.
      V_TS_T = V_TS.
      CONDENSE V_TS_T.
      V_YYYY = V_TS_T.
      V_MM   = V_TS_T+4(2).
      V_DD   = V_TS_T+6(2).
      V_TS_T(2) = V_MM.
      V_TS_T+2(2) = V_DD.
      V_TS_T+4(4) = V_YYYY.
      SKIP 10.
      WRITE : /10 V_TS," USING EDIT MASK '____-__-________'.
              /10 V_YYYY,
              /10 V_MM,
              /10 V_DD,
              /10 V_TS_T USING EDIT MASK '__-__-__________'.
    If you want DATE alone, just declare the length of V_TS_T as 10.
    Regards,
    R.Nagarajan.
    We can -

  • Problems with retrieving data from tables with 240 and more records

    Hi,
    I've been connecting to Oracle 11g Server (not sure exact version) using Oracle 10.1.0 Client and O10 Oracle 10g driver. Everything was ok.
    I installed Oracle 11.2.0 Client and I started to have problems with retrieving data from tables.
    First I used the same connection string, driver and so on (O10 Oracle 10g) then I tried ORA Oracle but with no luck. The result is like this:
    I'm able to connect to database. I'm able to retrieve data but from small tables (e.g. with 110 records it works perfectly using both O10 and ORA drivers). When I try to retrieve data from tables with like 240 and more records retrieval simply hangs (nothing happens at all - no error, no timeout). Application seems to hang forever.
    I'm using Powerbuilder to connect to Database (either PB10.5 using O10 driver or PB12 using ORA driver). I used DBTrace, so I see that query hangs on the first FETCH.
    So for the retrievals that hang I have something like:
    (3260008): BIND SELECT OUTPUT BUFFER (DataWindow):(DBI_SELBIND) (0.186 MS / 18978.709 MS)
    (3260008): ,len=160,type=DECIMAL,pbt=4,dbt=0,ct=0,prec=0,scale=0
    (3260008): ,len=160,type=DECIMAL,pbt=4,dbt=0,ct=0,prec=0,scale=1
    (3260008): ,len=160,type=DECIMAL,pbt=4,dbt=0,ct=0,prec=0,scale=0
    (3260008): EXECUTE:(DBI_DW_EXECUTE) (192.982 MS / 19171.691 MS)
    (3260008): FETCH NEXT:(DBI_FETCHNEXT)
    and this is the last line,
    while for retrievals that end, I have FETCH producing time, data in buffer and moving to the next Fetch until all data is retrieved
    On the side note, I have no problems with retrieving data either by SQL Developer or DbVisualizer.
    Problems started when I installed 11.2.0 Client. Even if I want to use 10.0.1 Client, the same problem occurs. So I guess something from 11.2.0 overrides 10.0.1 settings.
    I will appreciate any comments/hints/help.
    Thank you very much.

    pgoel wrote:
    I've been connecting to Oracle 11g Server (not sure exact version) using Oracle 10.1.0 Client and O10 Oracle 10g driver. Everything was ok.Earlier (before installing new stuff) did you ever try retrieving data from big tables (like 240 and more records), if yes, was it working?Yes, with Oracle 10g client (before installing 11g) I was able to retrieve any data, either it was 10k+ records or 100 records. Installing 11g client changed something that even using old 10g client (which I still have installed) fails to work. The same problem occur no matter I'm using 10g or 11g client now. Powerbuilder hangs on retrieving tables with more than like 240 records.
    Thanks.

  • Fetch value from Table with respect to APP_USER.

    Hi,
    i want to fetch value from Table with respect to APP_USER.
    i am using
    SELECT ID,NAME,FILE_OBJ_ID,MIME_TYPE,DOC_SIZE,BLOB_CONTENT,DESCRIPTION,UPLOAD_DATE,'Download' FROM DUMY_FILE where CREATED_BY =:APP_USER;
    Show me error
    failed to parse SQL query:
    ORA-00911: invalid characterThanks
    Edited by: 805629 on Jan 13, 2011 2:09 AM

    Hello,
    I too have the same problem.
    I am using this query:
    select manager from leave_mgmt where support_engg=:APP_USER
    and source type is SQL Query(return single value)
    but nothing is coming up in the text field. Its empty.
    Please advice. Thanks in advance.

  • How do you delete records from table with data in a select option

    how do you delete records from table with relevant to data in a select option..how to write coding

    Hi,
    Try
    if not s_select_option [ ] is initial.
    delete * from table
    where field in s_select_option.
    endif.
    commit work.
    Be careful though. If select option is emty, you will delete the entire table.
    Regards,
    Arek

  • Read internal table with key not equal to

    Hi,
    How can I read internal table with key not equal to some other field.
    Basically in read statement we can read only fields equal to others fields.

    Hi,
    Test the following Code you can Use Loop at for this But not Read Table
    DATA: BEGIN OF it_test OCCURS 10,
      f1(4),
      f2 TYPE i,
      f3(2),
      END OF it_test.
    DATA: it_test2 LIKE STANDARD TABLE OF it_test WITH HEADER LINE.
    it_test-f1 = '1000'.
    it_test-f2 = 10.
    it_test-f3 = 'B'.
    APPEND it_test TO it_test.
    it_test-f1 = '2000'.
    it_test-f2 = 10.
    it_test-f3 = 'A'.
    APPEND it_test TO it_test.
    it_test-f1 = '1000'.
    it_test-f2 = 10.
    it_test-f3 = 'B'.
    APPEND it_test TO it_test.
    it_test-f1 = '1000'.
    it_test-f2 = 10.
    it_test-f3 = 'A'.
    APPEND it_test TO it_test.
    it_test-f1 = '1000'.
    it_test-f2 = 40.
    it_test-f3 = 'A'.
    APPEND it_test TO it_test.
    LOOP AT it_test INTO it_test WHERE f3 NE 'A'.
      WRITE: / it_test-f1, it_test-f2, it_test-f3.
    ENDLOOP.
    Kind Regards,
    Faisal

  • Dynamic reading from database table

    Hi Experts,
    While reading from a database table the below statement for deletion works:
    DELETE (p_table) FROM <fs_wadbtab>.
    p_table: name of database table which is entered as a selection screen parameter
    <fs_wadbtab> : workarea of line type P_table
    However, the below statement does not work:
    READ (p_table) FROM <fs_wadbtab>.
    My requirement is to read a record from p_table with contents in a dynamic structure.
    Kindly suggest.
    Thanks.

    Just misunderstood you.
    Edited by: Karri Kemppi on Jun 23, 2010 10:00 AM

  • Dynamically creating oracle table with csv file as source

    Hi,
    We have a requirment..TO create a dynamic external table.. Whenever the data or number of columns change in the CSV file the table should be replaced with current data and current number of columns...as we are naive experienced people in oracle please give us a clear solution.. We have tried with a code already ..But getting some errors. Code given below..
    thank you
    we have executed this code by changing the schema name and table name ..Remaining everything same ...
    Assume the following:
    - Oracle User and Schema name is ALLEXPERTS
    - Database name is EXPERTS
    - The directory object is file_dir
    - CSV file directory is /export/home/log
    - The csv file name is ALLEXPERTS_CSV.log
    - The table name is all_experts_tbl
    1. Create a directory object in Oracle. The directory will point to the directory where the file located.
    conn sys/{password}@EXPERTS as sysdba;
    CREATE OR REPLACE DIRECTORY file_dir AS '/export/home/log';
    2. Grant the directory privilege to the user
    GRANT READ ON DIRECTORY file_dir TO ALLEXPERTS;
    3. Create the table
    Connect as ALLEXPERTS user
    create table ALLEXPERTS.all_experts_tbl
    (txt_line varchar2(512))
    organization external
    (type ORACLE_LOADER
    default directory file_dir
    access parameters (records delimited by newline
    fields
    (txt_line char(512)))
    location ('ALLEXPERTS_CSV.log')
    This will create a table that links the data to a file. Now you can treat this file as a regular table where you can use SELECT statement to retrieve the data.
    PL/SQL to create the data (PSEUDO code)
    CREATE OR REPLACE PROCEDURE new_proc IS
    -- Setup the cursor
    CURSOR c_main IS SELECT *
    FROM allexperts.all_experts_tbl;
    CURSOR c_first_row IS ALLEXPERTS_CSV.logSELECT *
    FROM allexperts.all_experts_tbl
    WHERE ROWNUM = 1;
    -- Declare Variable
    l_delimiter_count NUMBER;
    l_temp_counter NUMBER:=1;
    l_current_row VARCHAR2(100);
    l_create_statements VARCHAR2(1000);
    BEGIN
    -- Get the first row
    -- Open the c_first_row and fetch the data into l_current_row
    -- Count the number of delimiter l_current_row and set the l_delimiter_count
    OPEN c_first_row;
    FETCH c_first_row INTO l_current_row;
    CLOSE c_first_row;
    l_delimiter_count := number of delimiter in l_current_row;
    -- Create the table with the right number of columns
    l_create_statements := 'CREATE TABLE csv_table ( ';
    WHILE l_temp_counter <= l_delimiter_count
    LOOP
    l_create_statement := l_create_statement || 'COL' || l_temp_counter || ' VARCHAR2(100)'
    l_temp_counter := l_temp_counter + 1;
    IF l_temp_counter <=l_delimiter_count THEN
    l_create_statement := l_create_statement || ',';
    END IF;
    END;
    l_create_statement := l_create_statement || ')';
    EXECUTE IMMEDIATE l_create_statement;
    -- Open the c_main to parse all the rows and insert into the table
    WHILE rec IN c_main
    LOOP
    -- Loop thru all the records and parse them
    -- Insert the data into the table created above
    END LOOP;

    The initial table is showing errors and the procedure is created with compilation errors
    After executing the create table i am getting the following errors
    ERROR at line 1:
    ORA-29913: error in executing ODCIEXTTABLEOPEN callout
    ORA-29400: data cartridge error
    KUP-00554: error encountered while parsing access parameters
    KUP-01005: syntax error: found "identifier": expecting one of: "badfile,
    byteordermark, characterset, column, data, delimited, discardfile,
    disable_directory_link_check, exit, fields, fixed, load, logfile, language,
    nodiscardfile, nobadfile, nologfile, date_cache, processing, readsize, string,
    skip, territory, varia"
    KUP-01008: the bad identifier was: deli
    KUP-01007: at line 1 column 9
    ORA-06512: at "SYS.ORACLE_LOADER", line 19

  • Export data from table with CLOB column

    DB: Oracle10g
    SQLDeveloper: 1.0
    OS: windows xp for sqldeveloper
    Linux for Oracle db
    we have a table with two CLOB columns. We want to export the data to either text or csv. But the CLOB columns don't show up in the columns that can be exported.
    How do I export CLOB data from SQL Developer?
    Regards,
    Lonneke

    I don't think this is a good protection: you can have these characters in VARCHAR anyway, and this way you "throw the baby out with the bath water". Not mentioning that right now also immune formats like HTML are also limited.

  • Read from Table T001

    Hi Folks,
    I have a requirement to create a pull down of all "plants" (locations) from T001. Is there a way to read that information "on the fly" or at least update it on a scheduled basis?
    Thanks,
    Matt

    Ooookay.
    Well, to get the start for the pass, that reads the content from the ABAP table, you can create a job with the wizard and there choose "Jobs > SAP NetWeaver > ABAP Read Help Values" with the repository you want the data to be read from.
    It will create a job with some passes that use the "fromSAP" pass type to read tables (e.g. "Address Salutation ReadTable: TSAD3"). Just take one of those passes and change it up to fit the T001 table and in the destination tab change to a appropriate table name of your choosing to save the data.
    And then use this temp table for a second pass, a "to ID store" this time and fill whatever attribute you created to hold the data with it. 
    Since it's a job you can just schedule it to refresh the temp table whenever you want or need it to.
    Regards,
    Steffi.

  • Lookup table with a block based on a view

    Hi!
    My form contain one module component based on a view, one of the items of my block is a libelle that exist in one
    of the tables queried by the view.
    my question is :
    how can I have a LOV on this item in order that the user select a value for a query???
    or, can I make a lookup table with a view ????
    Thanks!

    You said you copied an existing item in the block, and then copied an existing item in the layout editor - is it possible you actually created 2 separate items? Remove the one in the layout editor, and set the canvas of the one in the block so it is displayed in the layout editor. That could be the problem.

  • Problem deleting from table with xmltype column

    Hi,
    Using a standard, simple screen (generated from JHeadstart), I don't seem to be able to delete from a table including an xmltype column. I have tried it even with a very simple mock table with only one column, an xmltype column, and every time I check the "delete" box and click "save", I get the following error:
    oracle.jbo.RowInconsistentException: JBO-25014: Another user has changed the row with primary key oracle.jbo.Key[33 ].
    I have tried this in the JDeveloper application module tester too and the result is the same.
    Is it possible to delete a row from a table with an xmltype column? Am I doing something wrong? Is there something special needs done?
    As I say, I did this with a one-xmltype-column table using the "Business Components from Tables" wizard, accepting all the defaults.
    Thanks,
    Darren

    In short you want
    SELECT extractvalue(myxml, '/PurchaseOrder/Reference')
    FROM dab_test;This difference is that for dab_xml, there are no columns defined for the table, therefore you are [OBJECT_VALUE|http://download.oracle.com/docs/cd/B28359_01/server.111/b28286/pseudocolumns006.htm#sthref830] as an alias for a non existent column.
    With dab_test, you have a column that contains the XML so you need to use that column name instead of OBJECT_VALUE.

  • Dynamic menus from database with URL parameters

    Hello!
    I'm trying to build a set of dynamic menus that would be based on data from the database. I need to have a menu item for every database row, and all the items point to the same page, but each with its own parameter in the item's URL. The URLs in the menus would look like ".../form.jspx?recordID=xx", where xx is read from the database.
    Right now, I can display the menu, everything works fine, but the problem is in the PageMap section of Databindings.cpx - ADF needs to have every URL mapped to a page definition. So even if I have "form.jspx" mapped to "form_PageDef", I have to explicitly tell the server that "form.jspx?recordID=xx" is also mapped to "form_PageDef" by putting this into Databindings.cpx.
    Of course, if I have to manually enter page mappings for all the record IDs that appear in the menu, it's not really a "dynamic menu" anymore. Does anyone know of a way to avoid this problem?
    Can I somehow change Databindings.cpx programmatically? Can I change page mappings dynamically? Help, please? I'm very grateful for any and all info.

    Hi Vex,
    I'm not sure whether you'll find a solution as "Dynamic" as you are describing with dynamic entries via the DataBindings.cpx. Menu's work quite differently in JSF (See section 19.2 on dynamic menus in the developers guide). You may need to get the solution halfway.
    1) Drive the menu contents / structure from the database via some backing bean. The sample application that comes with JDeveloper has a fixed menu structure via exposed beans. You'd have to adapt this to be driven off of a managed bean. This takes a bit of work, but it can be accomplished. You'll need to loop through your database records via the Iterator to build the content of your menuModel
    2) Let JDeveloper create the entries in DataBindings.cpx to map the pageDef.xml file to each jspx file. (Manual). The pageDef.xml file gets interpreted during the initContext phase of the ADF Lifecycle, and the DataBindings.cpx tells this phase where to look to create the runtime version of the pageDef.xml (See developer's guide 13.2.3).
    3) Manually setup your faces-config with the right outcomes.
    4) have the database return the outcomes and viewIds, among other values.
    5) do the appropriate thing in your JSPX to make use of this menu module backing bean.
    In this case, you'll control the content and structure of the menu via the DB. However, you'd have to make sure the data in your DB matches the definitions of the jspx viewid's and outcomes.
    However, there is a quite a bit of work involved to do this. I.e. db design, backing bean for menu module, disciplined co-ordination between DB and JSF, etc...
    I hope this helps.
    Kenton

  • Read-only table with a LOV on a VO's attribute

    Hi,
    I have a VO ('X') that is displayed as a read-only table. 'X' has an attribute called 'SubscriptionId'. The value of 'SubscriptionId' is a foreign key to another table called 'Subscription'. My 'Subscription' database table has a column named 'Description'.
    Example:
    'X' has an attribute 'SubscriptionId' = 14
    DB table 'Subscription' has a row that looks like this:
    14, "A subscription description" (where "A subscription description" is the 'Description' column)
    I set up a LOV for 'SubscriptionId' on my VO 'X', so that it should show the value of 'Description' from 'Subscription' instead of the 'SubscriptionId'.
    If I display my VO 'X' as a form, I can see my LOV (for 'Description').
    However, when I display my VO ('X') as a read-only table, it isn't adhering to the LOV I defined on my VO, and is instead showing the 'SubscriptionId'.
    What do I need to do differently on my table to show the 'Description' instead of the foreign key 'SubscriptionId'? I want it to be just an output text of the Description, not a choice list.
    Thanks,
    Joel

    Hi
    In simple way just set the ReadOnly property of choice list in the coloum = true
    for example
    <af:column sortProperty="EmpId" sortable="true"
    headerText="#{bindings.DocTransactionView1.hints.EmpId.label}"
    id="c2" align="center">
    <af:selectOneChoice value="#{row.bindings.EmpId.inputValue}"
    label="#{row.bindings.EmpId.label}"
    required="#{bindings.DocTransactionView1.hints.EmpId.mandatory}"
    shortDesc="#{bindings.DocTransactionView1.hints.EmpId.tooltip}"
    id="soc4" readOnly="true">
    <f:selectItems value="#{row.bindings.EmpId.items}" id="si3"/>
    </af:selectOneChoice>
    </af:column>

  • Dynamic creation of table with variable field-names

    HI
    I am looking for a way in order to create a table during runtime. The problem is that the field names of the table are provided in another table.
    TO illustrate the case at hand, an example:
    The initial table contains the fields
    UserID - attribut_name - attribute_value
    Example Data
    d00587 - first_name    - Jon
    d00587 - last_name     - Smith
    d00587 - age           - 48
    d00127 - first_name    - Jack
    d00127 - last_name     - Daniels
    d00127 - position      - Manager
    Now I need to create a table per User that looks as follows:
    for user d00587
    first_name  -  last_name  -  age
    **Values
    Jon         -  Smith      -  48
    for user d00127
    first_name  -  last_name  -  positioin
    Jack        -  Daniels    -  Manager
    I split the initial table by sorting it according to userID and then looping into an itab with an AT END OF userid, thus I receive the table per user:
    Example iTab
    UserID - attribut_name - attribute_value
    Example Data
    d00587 - first_name    - Jon
    d00587 - last_name     - Smith
    d00587 - age           - 48
    However I have no clue on how to create a new internal table with field-names = attribute_name.
    Does anybody have an idea or example code for this?
    Thanks a lot for your help,
    Kind regards,
    Mingolo

    Hello Minima
    Here is some sample coding:
    DATA:
      gt_fcat  type lvc_t_fcat,
      gdo_data TYPE REF TO data.
    FIELD-SYMBOLS:
      <gt_itab> TYPE table.
    CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
      EXPORTING
    *     I_BUFFER_ACTIVE              =
        i_structure_name             = 'MARA'
    *     I_CLIENT_NEVER_DISPLAY       = 'X'
    *     I_BYPASSING_BUFFER           =
      CHANGING
        ct_fieldcat                  = gt_fcat
      EXCEPTIONS
        inconsistent_interface       = 1
        program_error                = 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.
    CALL METHOD cl_alv_table_create=>create_dynamic_table
      EXPORTING
    *      I_STYLE_TABLE             =
        it_fieldcatalog           = gt_fcat
      IMPORTING
        ep_table                  = gdo_data
    *      E_STYLE_FNAME             =
      EXCEPTIONS
        generate_subpool_dir_full = 1
        OTHERS                    = 2.
    IF sy-subrc <> 0.
    *   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    ASSIGN gdo_data->* TO <gt_itab>.
    In your case, you would call the function module with your tables (D00587, D00127). Remove all fields from the fieldcatalog that you do not need before calling the static method.
    Regards
      Uwe

Maybe you are looking for

  • From ALV list to Selection-screen

    Hi, I have problem in coming back to selection screen after displaying ALV List. In ALV list i'm using check box option to delete selected records. After deletion I'm displaying the remaining records with one more call to ALV function module. As this

  • Can Airport Extreme be set as remote in a WDS?

    I have set a WDS with an Airport Extreme set as main (n) and two Airport Express set as a relay (g) and a remote(n). I just got a Time Capsule wich I will set as my new main. Now I would like to have my old Airport Extreme set as a relay or remote...

  • Item Purchase Requisition Block

    For cash-relevant sales order line items that are assigned a u201Cdirect from vendoru201D item category and the deposit paid < 100% of the total line item value, then automatically set the purchase requisition block should be applied.  For the above

  • Do I need additional Driver/Clients when accessing Oracle from CSharp ?

    I am trying to connect from within a CSharp program to Oracle database 10g Express. I coded in CSharp: using System.Data.OracleClient; but this line gives an unresolve error: Type or namespace missing ...? As far as I thought VisualStudio 2005 provid

  • Failed java install

    Tried to roll my 2013 macbook pro 13" back to Java 6 so I can run IDE for Arduino but I have messed this up. I was left with the java icon in system preferences not working, so found out how to delete this. downloaded and ran the Java 6 install which