Block based on from clause query

Hi all...
I am using forms 10g .....
When I wanted block based on from clause query...
I used this query ( SELECT * FROM exit INNER JOIN enter ON exit.ent_num = enter.ent_num where enter.depart=1)...
When I run form .....
frm-40505 oracle error unable to perform query
Thank you
Edited by: osa3_12 on Dec 10, 2009 4:33 AM

hi
try something like this.
  1* select empno,ename from emp where empno=empno order by 1
SQL> /
     EMPNO ENAME
      7000 Sarah
      7369 SMITH
      7499 ALLEN
      7521 WARD
      7566 JONES
      7654 MARTIN
      7698 BLAKE
      7782 CLARK
      7788 SCOTT
      7839 KING
      7844 TURNER
     EMPNO ENAME
      7876 ADAMS
      7900 JAMES
      7902 FORD
      7934 MILLER
      8898 Sheela
16 rows selected.
  1* select empno,ename from emp where empno=7000
SQL> /
     EMPNO ENAME
      7000 Sarah
SQL> sarah

Similar Messages

  • Block based on "From clause query" and substitution variable

    Hi Folks,
    I have a "From clause query" block type, which is based on query that uses a substitution variable (:BLOCK.COLUMN) from previous block. When I run a query, then I obtain an error: ORA-01008: not all variables bound.
    My query looks like:
    select seq_no, prod_code, descr, curr_code,
           max(decode(sched_type_code,'ROLLOVER',amt,0)) OUTSTD_DRAW,
           max(decode(sched_type_code,'INTCHG',amt,decode(sched_type_code,'FEEREC',amt,0))) OUTSTD_INTEREST_FEE
    from
        select r.fac_no, r.prod_code, f.descr, r.prod_seq_no seq_no, r.curr_code, r.sched_type_code,sum(nvl(rep_amt,0)) amt
          from repay_scheds r,
               fac_prods f
         where r.fac_no = f.fac_no
           and r.prod_code = f.prd_code
           and r.prod_seq_no = f.seq_no
           and r.fac_no = :B2.FAC_NO
           and r.trans_ref_from is not null
           and r.status         <> 'P'
        group by r.fac_no, r.prod_code, f.descr, r.prod_seq_no, r.curr_code, r.sched_type_code 
    group by seq_no, prod_code, descr, curr_code
    having max(decode(sched_type_code,'ROLLOVER',amt,0)) >0 or max(decode(sched_type_code,'INTCHG',amt,decode(sched_type_code,'FEEREC',amt,0))) > 0Once I replace that substitution variable in query condition with some exact test number then it works fine.
    select seq_no, prod_code, descr, curr_code,
           max(decode(sched_type_code,'ROLLOVER',amt,0)) OUTSTD_DRAW,
           max(decode(sched_type_code,'INTCHG',amt,decode(sched_type_code,'FEEREC',amt,0))) OUTSTD_INTEREST_FEE
    from
        select r.fac_no, r.prod_code, f.descr, r.prod_seq_no seq_no, r.curr_code, r.sched_type_code,sum(nvl(rep_amt,0)) amt
          from repay_scheds r,
               fac_prods f
         where r.fac_no = f.fac_no
           and r.prod_code = f.prd_code
           and r.prod_seq_no = f.seq_no
           and r.fac_no = 2012500
           and r.trans_ref_from is not null
           and r.status         <> 'P'
        group by r.fac_no, r.prod_code, f.descr, r.prod_seq_no, r.curr_code, r.sched_type_code 
    group by seq_no, prod_code, descr, curr_code
    having max(decode(sched_type_code,'ROLLOVER',amt,0)) >0 or max(decode(sched_type_code,'INTCHG',amt,decode(sched_type_code,'FEEREC',amt,0))) > 0How can I use substitution variable within query for "From clause query" block type? Or any other way how to get the same result?
    Thanks for your reply.
    Tomas

    I have a solution:
    Before entering block I'm calling function, that populates my block:
    PROCEDURE POP_<<MY_BLOCK>>_BLOCK IS
      query_txt varchar2(2000);
    BEGIN
       query_txt := '(select seq_no, prod_code, descr, curr_code,
                            max(decode(sched_type_code,''ROLLOVER'',amt,0)) OUTSTD_DRAW,
                            max(decode(sched_type_code,''INTCHG'',amt,decode(sched_type_code,''FEEREC'',amt,0))) OUTSTD_INTEREST_FEE
                                                  from
                                                     select r.fac_no, r.prod_code, f.descr, r.prod_seq_no seq_no, r.curr_code, r.sched_type_code,sum(nvl(rep_amt,0)) amt
                                                       from repay_scheds r,
                                                            fac_prods f
                                                      where r.fac_no = f.fac_no
                                                        and r.prod_code = f.prd_code
                                                        and r.prod_seq_no = f.seq_no
                                                        and r.fac_no = '||:B2.FAC_NO||'
                                                        and r.trans_ref_from is not null
                                                        and r.status         <> ''P''
                                                     group by r.fac_no, r.prod_code, f.descr, r.prod_seq_no, r.curr_code, r.sched_type_code 
                                                 group by seq_no, prod_code, descr, curr_code
                                                 having max(decode(sched_type_code,''ROLLOVER'',amt,0)) >0 or max(decode(sched_type_code,''INTCHG'',amt,decode(sched_type_code,''FEEREC'',amt,0))) > 0)';
       Go_Block('<<MY_BLOCK>>' );
       Clear_Block ;
       Set_Block_Property( '<<MY_BLOCK>>', QUERY_DATA_SOURCE_NAME, query_txt) ;
       -- populate my  block --
       Execute_Query ;
    END;Thanks,
    Tomas

  • Form blows up when clicked in data block using a FROM clause query

    Hi,
    I have a form that has two blocks. The detail block is based on a "FROM query clause" in the 'Query Data Source Type' in the block Properties.
    I have a simple select in the 'Query Data Source Name'.
    I made sure the select is enclosed in parenthesis and the alias names in the SELECT are the same as the ITEMS defined in the block
    The data needs to be displayed in a tabular fashion.
    When I run the form, the data is displayed correctly..but when I click the mouse on any item of this block or try to scroll down, everything just blows up and it closes my form.
    I have made sure both blocks have the same properties. But, this seems to happen no matter what.
    Any help in regard is greatly appreciated.
    Thanks much,
    Vijji

    This is how I set the relationship for the detail block say BLOCK2.
    1. I first do this:
    Database Data Block = YES
    Query Allowed = YES
    Query Data Source Type = FROM clause query Query Data Source Name = ( select jio.order_header_id order_header_id, jii.item_code item_code, SUM(jii.item_qty) item_qty from joe_indv_items jii, joe_indv_orders jio where jii.indv_order_id = jio.indv_order_id group by jio.order_header_id, jii.item_code )
    The master and detail need to be tied by the order_header_id which I can get from the header block.
    2. In the WHEN-NEW_BLOCK-INSTANCE trigger for BLOCK2, I wrote the following where I dynamically pass the order_header_id:
    DECLARE
    q varchar2(1000);
    BEGIN
         q := '(SELECT jio.order_header_id order_header_id,
         jii.item_code item_code,
         SUM(jii.item_qty) item_qty
         FROM joe_indv_items jii, joe_indv_orders jio
         WHERE jio.order_header_id = ' || :HEADERS.order_header_id||'
         AND jii.indv_order_id = jio.indv_order_id
         GROUP BY jio.order_header_id, jii.item_code )';
         CLEAR_BLOCK;
    SET_BLOCK_PROPERTY('BLOCK1', QUERY_DATA_SOURCE_NAME, q);
    EXECUTE_QUERY;
    END;
    I am not sure if I should write the exact select statement in the Query Data Source Name or not.
    Please advice.
    Thanks much,
    Vijji

  • Need to execute block based on from clause

    hi all
    i've a block that is based on a from clause data source , & i've button in the previous block that should execute this one
    when i wrote execute_query in that button , it got error that this function can't be done here
    so how can i execute this block through the button.......
    thxxxxxxxxxx

    Hi miro;
    Please check [this search|http://www.google.com.tr/search?hl=tr&q=execute_query%2Bbutton&meta=&aq=f&oq=]
    Hope it helps
    Regard
    Helios

  • Insert in a "FROM clause query" block

    I have a block based on "FROM clause query" (querying two different tables). I want to be abble to insert in this block. I wrote the DML code to insert in both tables, but I then need to stop forms who try to insert by itself, because it fails and rollback my change. How can I do this ?

    If you have Oracle Server 8.1.6+ you can
    create a database view with these two tables
    and create a "instead of" trigger to insert
    in both tables. It will be faster to
    execute, your Forms becomes simpler and it
    is easier to manage. Example from the
    Oracle Server documentation :
    CREATE TABLE customers_sj
    ( cust NUMBER(6),
    address VARCHAR2(50),
    credit NUMBER(9,2) );
    CREATE TABLE customers_pa
    ( cust NUMBER(6),
    address VARCHAR2(50),
    credit NUMBER(9,2) );
    CREATE TYPE customer_t AS OBJECT
    ( cust NUMBER(6),
    address VARCHAR2(50),
    credit NUMBER(9,2),
    location VARCHAR2(20) );
    CREATE VIEW all_customers (cust)
    AS SELECT customer_t (cust, address, credit, 'SAN_JOSE')
    FROM customers_sj
    UNION ALL
    SELECT customer_t (cust, address, credit, 'PALO_ALTO')
    FROM customers_pa;
    CREATE TRIGGER instrig INSTEAD OF INSERT ON all_customers
    FOR EACH ROW
    BEGIN
    IF (:new.cust.location = 'SAN_JOSE') THEN
    INSERT INTO customers_sj
    VALUES (:new.cust.cust, :new.cust.address,:new.cust.credit);
    ELSE
    INSERT INTO customers_pa
    VALUES (:new.cust.cust, :new.cust.address, :new.cust.credit);
    END IF;
    END;
    null

  • SET_BLOCK_PROPERTY('QUERY_DATA_SOURCE_NAME') with FROM clause query data block

    Two block :
    - Block A based on table
    - Block B based on FROM clause query
    In WHEN-NEW-RECORD-INSTANCE of block A, I perform a SET_BLOCK_PROPERTY('BLOCK_B','QUERY_DATA_SOURCE_NAME','(...)'); and then query block B (... depends on value taken by 'code' column in block A).
    At runtime it works till 'code' does not change (query_data_source_name does not change) but when I navigate to a record having a different 'code', it got the folowing message :
    41380 - Cannot set the blocks query data source.
    Any idea or suggestion ?

    Hello all i m trying dynamically change query_data_source_name but its not working.
    i did the followings
    Forms(10g2) block level:Query_data_source_type
    Query_data_source_name:SELECT 1,2,3,4,5 FROM dual;
    in control Block:
    when_button_press my code is
    GO_BLOCK('blk_query');
    Clear_Block(No_Validate);
    set_block_property('blk_query',query_data_source_name,
    'SELECT col1,col2,col3,col4,col5 FROM mytable');
    execute_query;
    same result:unable to query error.
    any one can help me regarding this issue.

  • FROM clause query dara block

    Hi,
    A data block which was created using FROM clause query, can be set as master block of another block? So i want to build a detail block and the master block being the 1st block, made with FROM clause query.
    Thanks

    i observed that a block created with FROM clause query cannot be a detail block, but it can be a master block. Correct?Yes, a From Clause based Block can be the master table in the Master - Detail relationship. I have successfully created a Form with this type of relationship! (I found my demo - I had it reversed).
    I tried to create a FROM clause data block as detail block (and set a relationship with a master block) but i encountered an error at the relation and i deleted it (also the automatically generated triggers).This was my experience when I attempted a demo form that had the From Clause based block as a Detail in the Master - Detail relationship. The error in the On-Populate-Details triggers was easily fixed (the query has to be wrapped in parenthesis) but when I ran the form there was no coordination between the blocks.
    but anyway, are these things written in the documentation?Not that I have ever found. It was always my understanding that if Oracle considered the data block to be a "base table block" (eg; block property Database Data Block = Yes) then all of the features of a base table block were available. The only thing I found in the documentation (Forms Help system - search on: "About creating a Master-Detail Relationship" and open the resulting document) indicated that a relationship should not be created where the detail block is based on a procedure, but it was OK if the master block was based on a procedure (see the Limitations section of the aforementioned document). I guess you could infer that this limitation applies to From Clause based blocks as well, but this is not explicitly stated in this document.
    Craig...

  • Using FROM clause query in block

    I have a block using a FROM clause query instead of a table. I have two items in the block that correspond to the select statement. Here's the SQL statement I've entered:
    SELECT BEZEICHNUNG, ZEIT_TYP_NR
    FROM ZEIT_TYPE
    WHERE ZEIT_TYP_NR IN
    (SELECT ZEIT_TYP_NR
    FROM PROM_ZEIT_TYP
    WHERE PROM_TYP_NR = :GLOBAL.PROM_TYP_NR)
    When I run forms, it ADDS to my SQL statement!! Here's what it does:
    SELECT BEZEICHNUNG,ZEIT_TYP_NR
    FROM (SELECT BEZEICHNUNG, ZEIT_TYP_NR FROM ZEIT_TYPE) WHERE ZEIT_TYP_NR IN
    (SELECT ZEIT_TYP_NR
    FROM PROM_ZEIT_TYP
    WHERE PROM_TYP_NR = :1)
    can anyone tell me why it's adding this first line to my select statement??

    "a from clause query" is the rather strange name forms uses for what is generally known as in an in-line view.
    Your in-line view is being treated by forms the same way as it would a table, it sticks a SELECT, a list of columns determined from the database items in the block and a FROM on the beginning. If the user specifies query criteria in enter-query mode it will quite correctly apply the where clause to the outer select rather than to the in-line view.

  • Changing DEFAULT_WHERE of a FROM CLAUSE Query (with group by)

    I have a Data Block of type FROM CLAUSE Query.
    The Data Source Name is
    SELECT A2.NAME,A2.EMPLOYEEID,A1.ORGID,A1.FSCLYEARID,A1.STATUS,COUNT(*) AS COUNTER
    FROM S_PLC10300 A1,S_PLC50200 A2
    WHERE A1.EMPLOYEEID=A2.EMPLOYEEID
    GROUP BY A1.ORGID,A1.FSCLYEARID,A1.STATUS,A1.EMPLOYEEID,A2.NAME,A2.EMPLOYEEID
    I have a Query Area with text items which i use to change the DEFAULT_WHERE Property.
    My problem is that i can' t put in the DEFAULT_WHERE a field that doesn't belong to the SELECT Clause. Is there a way to achieve this?
    Maybe changing the whole Data Source Name at runtime ?
    Thanks

    As I said i have a block with FROM clause query:
    SELECT A1.ORGID,A1.FSCLYEARID,A1.STATUS, A1.EMPLOYEEID, A2.NAME,A2.EMPLOYEEID
    FROM S_PLC10300 A1,S_PLC50200 A2
    WHERE A1.EMPLOYEEID=A2.EMPLOYEEID
    GROUP BY A1.ORGID,A1.FSCLYEARID,A1.STATUS,A1.EMPLOYEEID,A2.NAME,A2.EMPLOYEEID
    i use the following code:
    set_block_property(BLOCK,DEFAULT_WHERE,'A1.TRNSDATE>=:QUERY_BLOCK.TRNDATE);
    What i think the code will do is change the FROM Clause Query to:
    SELECT ... WHERE A1.EMPLOYEEID=A2.EMPLOYEEID AND A1.TRNSDATE>=:QUERY_BLOCK.TRNDATE
    GROUP BY ...
    A1.TRNSDATE is a valid field of table A1.
    I can' t add TRNSDATE to my SELECT clause because i will have to add it to the GROUP BY clause.
    Hope i made more sense this time.
    Thanks

  • From Clause Query block

    I'm using a from clause query block.
    I'm being prompted to use a on-lock trigger, if I have to update an item in my said block.
    1.What is the purpose of on-lock trigger in the given scenario, can I just use a null in the trigger.
    2.Further, why is it necessary to set the database item property to yes for all items in a from clause query block?

    The nature of use of the said from clause query based form I have explained above is that it is used to primarily set a No_change_flag from the screen in different loan type tables.
    If the concerned user decides that a loan should not be modified, he will come to this screen and query for that loan type, and check the no_change_flag. Then from the when button pressed trigger we go and update that respective loan type table and set the no_change_flag to YES.
    We have 4 loan type tables.Some times the user might choose to query by loan_date , and that will return multiple loans belonging to multiple loan types. In such a scenario we update multiple loan tables wherein the loan
    should not be changed.
    Actually we loop through the block and if the no_change_flag is chekced to YES, and then we update that respective loan type table. Yes when we are looking and issuing updates, and before the commit_form is issued at the end of the loop, in between some other user tries to update the row locked for update by us, then they will automatically get the appropriate message.
    I dont see the need in the above case to code anything else than NULL;
    Do anyone see this in a different way, or I'm I missing any impact the above functionality might cause?

  • Update detail block based on FROM QUERY

    I have 2 blocks in master-detail relation. The master is based on a table, the detail on from query. The Insert works fine... but whenever i want to update any field from the detail block, the items (text, lists, whatever) don't allow any updating.
    Is there some workaround?
    Thank you for the help
    NR

    RTM on blocks based on from-query.
    If I recall well, it says that you shoud write the DML code in on-insert, on-update and on-delete triggers - and, anyway, if I do not remember well the manual, that's what I do.
    So, the on-insert trigger should have an insert into <my_dml_table>...
    The on-update trigger sould have an update <my_dml_table>... where ... And there's a thing: you may have the rowid of <my_dml_query> fetched - which would be the best - or use some primary key for that table for update (not so good performance).
    The on-delete trigger somewhat like the on-update trigger.
    Moreover, I believe it would be better to have procedures for on-insert, on-update and on-delete grouped in one package in the database - again, this is what I use to do.

  • Block with query data source tipe: from clause query

    I have a block that have this property.
    But now I want to change data.
    Do you know how to do it?

    A from clause query does what is says: it can only query data. For DML operations use Table/Procedure.
    hth,
    J

  • Master detail with from clause query

    Hi!
    I have 2 blocks: master and detail. The master block is based on a from clause query. Since I have to insert, update and delete on this block I have created the on-insert, on-update, on-delete and on-lock triggers (and the respective procedures).
    In this block I have on-populate-details and pre-delete triggers created by the master-detail relation.
    Now I have a problem!
    Since I only want to commit to db when I click the "ok" button and I want to insert and delete records from these 2 blocks, when I insert records into the detail block (and master too), it forces me to save changes if I change the focus of the current record of de master block to another record within the same block.
    How can I do this in order to insert records saving changes only when I click the button?
    Thanks!
    Ana

    I think that it is intended behaviour: when detail records are populated and there are uncommited changes so Forms asks if user wants to save changes.

  • FROM CLAUSE QUERY, how to construct?

    Have always used the data block wizard so am probably missing something quiet simple. I have created a new form and am manually creating a simple test block. What i've done so far:
    Block Properties
    Database Data block: No
    Enforce Primary Key: Yes
    Query allowed: Yes
    Query data source type: FROM clause query
    Query data source name: select department_id, department_name from departments
    Query data source columns: department_id (number), department_name (varchar2)
    Created a canvas with and put two items, department_id (set as Primary key) and department_name on it.
    When i run the form i get... FRM-41003 This function cannot be performed here.
    What am i doing wrong and what steps should i be taking?
    Gus
    Oracle 10g

    first of all you should set the DATABASE DATA BLOCK property to YES, not NO.
    it is a database block though not based on a TABLE, rather on a FROM CLAUSE QUERY, but it is a database block.
    another thing, when you run the form, what function you are trying to perform when you get the error: "FRM-41003 This function cannot be performed here."
    i guess you are trying to query the data. if its same, then that should be resolved once you set the DATABASE DATA BLOCK to YES.

  • FROM Clause Query and Invisible records :(

    HI:
    My form has a block based on a FROM clause query (QUERY DATA SOURCE TYPE).
    This works fine with no errors. Count hits suggests that it is retrieving records but my Item is not displaying the records. I have nine records in total but all fields are blank even though I can 'scroll' through the nine (invisible) records.
    Strange, any ideas people ?
    thanks.
    N.

    Thanks you for the reply but its not the cause of the 'probem'. My items are in a multi record block ( I have tried single item bock / No Items displayed 1 etc..) but to no avail.
    The strange thing about it is that I can Message(:blk.item) and the value displays on the Message bar but there are no values displayed in the Canvas Item at runtime ????? Very strange or does someone know something I dont.
    I can even scroll to the end of the record set ( 9 recs).
    I have never caome across this before has anyone else ?
    Thanks
    N.

Maybe you are looking for

  • How come I can no longer scroll down via my laptop mouse-pad with Firefox 4.0?

    You know how you can use the mouse-pad on a laptop to scroll down on a web-page? I used to be able to do that in in the one before 4.0, but no longer can...anyone else have this problem?

  • G5 wont boot to desktop- Final results

    Hi everyone! My story started at this post http://discussions.apple.com/thread.jspa?threadID=2206583&start=0&tstart=0 I just wanted to post what happened in the end. I finally got the tool to remove the processor and when i did finally do it now when

  • Protect from kids

    Is there a way to protect the settings from a two year old?  My niece has hit the Control-Option-Command-8 combo a couple of times to reverse the video settings.  Thanks.

  • Application Builder arbeitet nicht mit Eurotherm 24XX-Treiber

    Hi, ich muß die Software für einen neuen Teststand schreiben. Der Teststand beinhaltet u.a. mehrere Eurotherm 2216 und ein Keithley 2700-Messinstrument. Von Labview ist ein Treiber für die Eurotherm 24XX-Serie erhältlich. Dieser funktioniert (zuminde

  • How do i access pictures in icloud on my iphone?

    I traded to an iphone 5s from the 4s.  My pics from the 4s were save to Icloud, is there a way to access the pics from my new Iphone?