Record Who information for a block based on procedure

Hi All,
I have a block whose query data source type property is set to procedure and query data source name is a procedure. When I hit Ctrl F11 on this block it shows me all the records. When I see the record who information , I see all the record who information except the Table Name. I understand that the table name is not coming as the query data source name is a procedure for this block. Is there a way to dynamically set this query data source name to a table or a view while still retaining the procedure based functionality. I tried set_block_property for this property but form won't allow.
Thanks

There are several recent posts on the topic with a lot of good help & documentation.
The Metalink note: 66887.1
Re: Form on a procedure
If you can't access Metalink, search here on that note. Someone posted the full text a couple days ago.
This is also very good reference:
Block based on procedure
Essentially, you have a procedure, returning a table-of-records type variable, called by the block "Query Data Source..." properties.
Name = procedure name
Arguments = procedure parameters (IN parameter(s) Value is :block.item)
Source Columns = the record type columns for your table-of-records
Datatypes & sizes must match all around.
Start very simple & get it to work first, then expand.
You must follow the documentation very carefully. If it doesn't work at first, go through everything to verify. Also, read the Tip & Issues at the end of the Metalink note.
Have fun. It works awsome once you get the hang of it.

Similar Messages

  • Anyone else experience the contact information for a blocked contact appearing at the top of the screen, when you open your email?

    Has anyone else experienced contact information for a blocked contact, appearing at the top of your email screen when opening your email?

    I'm seeing this as well, but not everytime only evry so often. No idea why.

  • Need to create a block based on procedure

    We can create a block based on procedure...but whats the need to do so...please can anybody explain.

    There are several recent posts on the topic with a lot of good help & documentation.
    The Metalink note: 66887.1
    Re: Form on a procedure
    If you can't access Metalink, search here on that note. Someone posted the full text a couple days ago.
    This is also very good reference:
    Block based on procedure
    Essentially, you have a procedure, returning a table-of-records type variable, called by the block "Query Data Source..." properties.
    Name = procedure name
    Arguments = procedure parameters (IN parameter(s) Value is :block.item)
    Source Columns = the record type columns for your table-of-records
    Datatypes & sizes must match all around.
    Start very simple & get it to work first, then expand.
    You must follow the documentation very carefully. If it doesn't work at first, go through everything to verify. Also, read the Tip & Issues at the end of the Metalink note.
    Have fun. It works awsome once you get the hang of it.

  • Error messages or information for the invalidation of those procedures

    Hello expert:
    I have a few procedure invalidated . in principle , those procedures should be validated automatically when they are called somewhere. but they don't, that means there are some error blocking them validated. please where I can find out corresponding error messages or information for the invalidation of those procedures.
    Many Thanks.

    CREATE TABLE t
    AS
       SELECT 1 id FROM DUAL;
    CREATE OR REPLACE PROCEDURE my_procedure
    AS
       v_id   t.id%TYPE;
    BEGIN
       SELECT id INTO v_id FROM t;
    END;
    CREATE OR REPLACE PROCEDURE my_proc2
    AS
    BEGIN
       my_procedure;
    END;
    exec my_proc2;
    DROP TABLE t;
    ALTER PROCEDURE   dsamstrc.my_proc2
       COMPILE;
    SELECT *
      FROM SYS.USER_ERRORS
    WHERE NAME = 'MY_PROC2'
           OR NAME IN (SELECT REFERENCED_NAME
                         FROM dba_dependencies
                        WHERE NAME = 'MY_PROC2');
    NAME     TYPE     SEQUENCE     LINE     POSITION     TEXT     ATTRIBUTE     MESSAGE_NUMBER
    MY_PROCEDURE     PROCEDURE     4     4     2     PL/SQL: SQL Statement ignored     ERROR     0
    MY_PROCEDURE     PROCEDURE     3     4     27     PL/SQL: ORA-00942: table or view does not exist     ERROR     0
    MY_PROCEDURE     PROCEDURE     2     2     10     PL/SQL: Item ignored     ERROR     0
    MY_PROCEDURE     PROCEDURE     1     2     10     PLS-00201: identifier 'T.ID' must be declared     ERROR     201
    MY_PROC2     PROCEDURE     2     3     5     PL/SQL: Statement ignored     ERROR     0
    MY_PROC2     PROCEDURE     1     3     5     PLS-00905: object DSAMSTRC.MY_PROCEDURE is invalid     ERROR     905wonder if something like this would work if the dependencies were more than 2 deep.
    SELECT distinct *
      FROM SYS.USER_ERRORS
    WHERE NAME in
           (SELECT name
            FROM dba_dependencies
    connect by nocycle  name =  prior  referenced_name
    start with NAME = 'MY_PROC2')
    order by name;Edited by: pollywog on Apr 4, 2011 2:49 PM

  • How to execute the query for a block based on the parameter

    Hi All,
    Good evening.
    i have requirement where i need to display the data in one block based on the selected items.
    the scenario is like this...there are 2 LOV's and one apply button and one external region on the form.
    so when u select the lov values and click on apply button the query should execute based on this 2 lov values.
    i am not getting how to achieve this..i am very new to oracle forms..
    Please Help..
    Thanks
    Bharat
    please help..it is urgent..
    thanks
    bharat
    Edited by: Bharat on Jan 31, 2012 5:19 AM

    Bharat wrote:
    Hi All,
    Good evening.
    i have requirement where i need to display the data in one block based on the selected items.
    the scenario is like this...there are 2 LOV's and one apply button and one external region on the form.
    so when u select the lov values and click on apply button the query should execute based on this 2 lov values.
    i am not getting how to achieve this..i am very new to oracle forms..Another way you can do this. Create a lov and don't assign it to any column just one return item (should be id).
    Now create a button may be your "apply button" write two trigger when-button-press and when-mouse-click.
    at When -Button-Press trigger, change the block state to 'ENTER-QUERY' and at when-mouse-click show the LOV and then write execute_query.
    Hope this will help you.
    If someone's response is helpful or correct, please mark it accordingly.

  • Recommended best practice to fetch detail block based on procedure

    HI
    I am creating a detail block (Dept)based on procedure which will be populated from the value from master block 'Emp'.
    For example,
    Detail block 'Dept' will be populated by calling procedure populate_detail(:emp.empno in number,dept.deptno out number) .
    But what are the triggers I need to call to populate detail block and at which level?
    I was thinking to call a WHEN-MOUSE-DOUBLECLICK on master block 'Emp' level to populate the detail block 'Dept' by calling the procedure and passing emp.empno as the parameter whenever the user moves from one master record to another.
    Please advise.
    Thanks in advance.

    Download the forms 6i examples CD from the OTN website

  • Data block based on procedure

    While working on a form with a data block based on a procedure, I keep getting error
    FRM-40364 The data type of item '%' does not match the corresponding column in the stored procedure.
    I have compared the items many times and found no mismatch. When the items are resorted (in both the data block and the procedure) and everything is recompiled, the
    "not matching" item referenced sometimes changes, though the types have not been changed. Has anyone solved a similar situation?

    Hi,
    Yes I did use the wizard,
    I agve it the package.proc name for query.
    it pulled up the field delivery ID,
    Hit finish, because I do not need update/delete/inserts.
    the query data source columns and arguments was defaulted correctly.
    THe QUERY-PROCEDURE was built by default.
    It is giving me an error though: wrong number or types of arguments in call to POPULATE_BLOCK..
    DECLARE
    bk_data HSM_WSH_DEL_UTIL.DEL_TBL;
    BEGIN
    hsm_wsh_del_util.do_query(bk_data);
    PLSQL_TABLE.POPULATE_BLOCK(bk_data, 'NEW_DELIVERIES');
    END;

  • Block based on procedure - trapping errors

    Hi,
    I have created a form with a block based on a procedure but when there is an error in the procedure it is not being trapped. I have raise_application_error in the execption but the form does not pick this up
    Can anyone help me on this. I am using Forms 5
    thanks, Monica

    It would be very difficutlt to send all the necessary pieces but there is a very good discussion of it in the "Advanced Forms and Reports" book from Oracle Press(Chapter 4).

  • Help with Data Block Based on Procedure--getting compilation error

    I am trying to create a datablock based on a procedure , but im getting errors in compilation:
    Errors are :
    1) identifier 'HSM_WSH_DEL_UTIL.DEL_TBL' must be declared
    2)PL/SQL ERROR 320 at line 7, column 27
    the declaration of the type of this expression is incomplete or malformed
    ANy Help would be appreciated !
    Heres my pkg spec and body for the data block:
    CREATE OR REPLACE PACKAGE hsm_wsh_del_util IS
    TYPE del_record is record
    (delivery_id number);
    TYPE del_tbl is table of del_record INDEX BY BINARY_INTEGER;
    procedure do_query(p_del IN OUT del_tbl);
    END hsm_wsh_del_util ;
    CREATE OR REPLACE PACKAGE BODY hsm_wsh_del_util IS
    procedure do_query(p_del IN OUT del_tbl)
    IS
    idx number :=1;
    CURSOR DELIVERY IS
    SELECT DELIVERY_ID
    FROM abc_deliveries;
    begin
    FOR CUR IN DELIVERY LOOP
    p_del(idx).delivery_id :=cur.delivery_id;
    idx:= idx+1;
    END LOOP;
    end do_query;
    END hsm_wsh_del_util;
    Edited by: 981170 on Mar 13, 2013 1:08 PM

    Hi,
    Yes I did use the wizard,
    I agve it the package.proc name for query.
    it pulled up the field delivery ID,
    Hit finish, because I do not need update/delete/inserts.
    the query data source columns and arguments was defaulted correctly.
    THe QUERY-PROCEDURE was built by default.
    It is giving me an error though: wrong number or types of arguments in call to POPULATE_BLOCK..
    DECLARE
    bk_data HSM_WSH_DEL_UTIL.DEL_TBL;
    BEGIN
    hsm_wsh_del_util.do_query(bk_data);
    PLSQL_TABLE.POPULATE_BLOCK(bk_data, 'NEW_DELIVERIES');
    END;

  • Block based on procedure

    I have a created a pacakage
    Pacakage specification
    TYPE ERROR_REC IS RECORD
    ( ID tbl.ID%TYPE,
    ORGL_STAMP tbl.ORGL_STAMP%TYPE,
    ORGL_USER tbl.ORGL_USER%TYPE,
    DEL_FLG tbl.DEL_FLG%TYPE,
    START_DT tbl.START_DT%TYPE,
    END_DT tbl.END_DT %TYPE);
    -- cursor variable to be used in do_query_cur procedure
    TYPE ERROR_ref IS REF CURSOR RETURN ERROR_rec;
    BODY
    PROCEDURE do_query_cur(ERROR_set IN OUT ERROR_ref,
    pid IN tbl.id%TYPE) IS
    BEGIN
    OPEN ERROR_set FOR
    SELECT ID,
                        ORGL_STAMP,
                        ORGL_USER,
                        DEL_FLG,                     
                        START_DT,
                        END_DT,
    FROM TBL
    WHERE id = p_id;
    END;
    END Ap_Comm_Error_Pkg1;
    I have based a block on the Ap_Comm_Error_Pkg1.do_query_cur. When I try to execute it from forms it
    returns 'error 40305 query caused no dtat to retrive. What could be the problem please help.
    Thx
    KK

    You pass pid argument, then you use p_id in your query.
    Francois

  • Installation for Creative cloud for Education, device based licenses procedure

    we have a challenge in installing the device based licenses at our Lab, in our console it shows like CCT and requesting for Email id , for lab their is no email id,
    please need help here.
    how to install , i have downloaded the media of 22gb , which took 3 working days for us.

    Hi dr swamy,
    Please refer to the help document below explaining the device licenses installation:
    Creative Cloud Help | Create packages with device licenses
    In case you face any difficulties, please contact the support:
    http://helpx.adobe.com/in/contact.html
    Regards,
    Sheena

  • Error: FRM-40657, Block based on Procedure

    Hi,
    I have a detail block, its Qry Data Source is Procedure, and the DML is to a table,
    The data is loading from two table say A and B, but the DML is to table B only.
    The pblm is when editing the data from A(if the data loaded from the Table A satisfy certain condition then I have to store that data into Table B along with other data selected from table B, i am getting the error FRM - 40657.
    Thanks in advance

    Hi,
    You are running into the error because you are trying to change or delete a record when you have already 'locked' it by viewing it in your form.
    If you do need to do it this way, you will have to clear data from table B and then do the updates/inserts and then requery the data.
    Hope I've understood what you mean!
    L :-)

  • Querying Block Based on Procedure

    I built the form based off the following thread:
    Form based on stored procedure
    However, the block created by the procedure does not appear to be queryable with any given criteria. Query Enter, enter criteria, Query Execute didn't work it still returns the all the data. I also tried putting in a default where clause, but that didn't work. Is there a way to query the result set returned?
    Thanks,
    Roschera

    Okay, now I've tried adding data source arguments to pass in a parameter to the cursor being used to generate the data. I've set the default value to null and double checked to make sure the same data types are being used, however, I'm still receiving an ORA-6502 error. Any help would be appreciated.
    Thanks,
    Roschera

  • Display a message in status bar when error in a block based procedure

    Hi
    I have a block based on procedures.
    If I have an exception when I try to insert a record for example, how can I display a user friendly message in the status bar ?
    here is my insert procedure :
    PROCEDURE emp_insert2(t IN emptab) IS
      BEGIN
        FOR i IN t.first..t.last LOOP
        INSERT INTO emp (empno, ename, job, hiredate, sal)
        VALUES(t(i).empno, t(i).ename, t(i).job, t(i).hiredate, t(i).sal);
        END LOOP ;
      EXCEPTION
        When DUP_VAL_ON_INDEX then
            Raise_Application_Error( -20002, '^This identifier already exists^' ) ;
      END emp_insert2;When I use the ON-FORM trigger and ERROR_CODE and ERROR_TEXT variables, I get an FRM-XXXX message saying :
    40735--INSERT-PROCEDURE trigger raised unhandled exception ORA-00001.
    I want a message like :
    ORA-20002 This identifier already exists

    Hello,
    ORA-20500: ^This identifier already exists^ ORA-06512: à "SCOTT2.EMP_PKG", ligne 48
    I cannot figure out what is the problem described by the second part of the message.
    why numeric or value error in this case ? ( ligne 48 corresponds to the raise_applicaion_error instruction )There is no problem with the second part it is just for showing the line number it not the numeric or value error the code for numeric or value error is ORA-06502. See the below link for more information
    http://www.techonthenet.com/oracle/errors/ora06512.php
    So, now you can display your customized message in status bar using the error code which you defined in RAISE_APPLICATION_ERROR like below...
    DECLARE
         errcode VARCHAR2(50) := DBMS_ERROR_CODE;
         errtxt VARCHAR2(1000) := DBMS_ERROR_TEXT;
    BEGIN
         IF vErrCode='-20500' THEN
            MESSAGE('Here display your customized message.');
         ELSE
            -- Handle the rest errors...
         END IF;
    END; -Ammad

  • Delivery block based on incoterms

    Hi all,
    In standard SAP, is it possible to set a delivery block if a certain incoterm is selected in the sales order?
    Thanks

    You may need to use user exit. I don't find any settings for delivery block based on inco terms. Use either USEREXIT_MOVE_FIELD_TO_VBAK (header level) or USEREXIT_MOVE_FIELD_TO_VBAP (item level) in program MV45AFZZ to fulfill the requirement.
    Regards,

Maybe you are looking for