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
-
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 AMBharat 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
-
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, MonicaIt 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 PMHi,
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; -
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
KKYou 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 advanceHi,
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,
RoscheraOkay, 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 existsHello,
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?
ThanksYou 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
-
How to get the alv grid report in another screen when double click on basic
Hi. I have created an alv report using class cl_gui_alv_grid.I got another report in the same screen,when double clicked on basic list(using double_click event).I want to get this report in another screen.What i have to do?(In classical reports i wor
-
Oracle9iR2/Solaris8 -- DRG-11207: user filter command exited with status 137
The ctx_ddl.sync_index() procedure hangs when I use it to synchronize the index. It is obvious that the INSO filter is not responding.The LD_LIBRARY_PATH and PATH variables are correctly pointing to $ORACLE_HOME/ctx/lib, $ORACLE_HOME/lib and $ORACLE_
-
HT1904 how do I restrict itunes purchases
Hi I accidentally purchased a song on iTunes with an iTunes card. Is there a way I can get a refund for it? I stopped it from downloading fully.
-
i use an usb yamaha audiogram6 interface on my MacBook Pro it works good, but i have the problem that if i plugged my guitar it sound everytime and i keep listen it even if im using guitar amps on logic pro i listen the clean sound from the guitar an
-
How to use left outer joins ,right outer joins and order by clause for belo
Hi, How to use left outer joins ,right outer joins and order by clause for below XML query. The query which is red colour returns null then its not displaying any values for columns in that tables. Tried decode, nvl function hasn't worked. SELECT XML