RMS subscriber queue table
Hai,
Please any one explain me.In RMS publish a message through RIB means we check the queues of message in particular message family queue table
Example:
if "Store" Message family publish a message means we check the queue in "STORE_MFQUEUE"
likewise
In subscriber side ,if "Inventory adjustment" message family subscribe a message means where we have to check the queue.
Please share the views.
Andrea,
You cannot currently use a nested table even as an embedded object within a message payload.
However, you can create an object type that contains one or more VARRAYs, and create a queue table that is founded on this object type. I guess this might be the problem you are facing.
Similar Messages
-
Multi-consumer queue table does not empty
Hello,
I must be missing something pretty trivial here but I have setup queue with a queue table where multiple_consumers = true. When I dequeue a message from the queue it is received, but the message is still left in the queue table. When I do a second dequeue I get a end-of-fetch error.
Currently, there is only one subscriber and the subscriber is specified as the recipient of the message.
How do I get the messages removed from the queue table?
DECLARE
queue_options DBMS_AQ.ENQUEUE_OPTIONS_T;
message_properties DBMS_AQ.MESSAGE_PROPERTIES_T;
recipients DBMS_AQ.AQ$_RECIPIENT_LIST_T;
message_id RAW(16);
my_message MYRESP_T;
BEGIN
recipients(1) := sys.aq$_agent('MY_SUBSCRIBER',null,null);
message_properties.recipient_list := recipients;
my_message := MYRESP_T('99293','ORCL','TEST');
DBMS_AQ.ENQUEUE(
queue_name => 'RESP_Q',
enqueue_options => queue_options,
message_properties => message_properties,
payload => my_message,
msgid => message_id);
COMMIT;
END;
DECLARE
r_dequeue_options DBMS_AQ.DEQUEUE_OPTIONS_T;
r_message_properties DBMS_AQ.MESSAGE_PROPERTIES_T;
v_message_handle RAW(16);
o_payload MYRESP_T;
v_dynamic_sql VARCHAR2(4000);
BEGIN
r_dequeue_options.wait := DBMS_AQ.NO_WAIT;
r_dequeue_options.dequeue_mode := DBMS_AQ.REMOVE;
r_dequeue_options.navigation := DBMS_AQ.FIRST_MESSAGE;
r_dequeue_options.consumer_name := 'MY_SUBSCRIBER';
DBMS_AQ.DEQUEUE(
queue_name => 'RESP_Q',
dequeue_options => r_dequeue_options,
message_properties => r_message_properties,
payload => o_payload,
msgid => v_message_handle
commit;
END;Thanks in advancePresumably the message gets left on the Q with a state of PROCESSED? If so then that suggests you have aq_tm_processes explicitly set to 0 (zero) in your spfile/pfile - these background processes clear messages which have been PROCESSED.
If this is not the case can you post the state of the messages and some more information like version and AQ related parameters?
Thanks
Paul -
Error while dropping/creating new queue table
Hi,
I am trying to modify an existing AQ setup. In the process, I had to remove a queue and redirect all its subscriptions to another queue.
I get an oracle "sequence does not exist" while trying to drop the queue table. The sequence of operations that I am carrying out is:
disable propagation schedule
unschedule propagation
stop queue
drop queue
drop queue table
The error occurs when the drop statement is executed.
I tried restoring the existing configuration, but got the same error message while trying to add a subscription.
Could you help me with this problem? What am I missing here?
Thanks,
AnupamaIn what version of Oracle?
I see a couple of problems assuming you are working with a currently supported version:
1. Never grant CONNECT to anyone: Ever. Grant CREATE SESSION.
2. GRANT CREATE TABLE to AQ;
Go to Morgan's Library at www.psoug.org and look at AQ Demo 1. You should have no problem cutting and pasting your way to where you are trying to go. -
Problem with Queue Table while dropping schema
Hi,
I want to DROP a schema, but it gives the following error while trying to drop it:
ORA-00604: error occurred at recursive SQL level 1
ORA-24005: must use DBMS_AQADM.DROP_QUEUE_TABLE to drop queue tables
From TOAD, I found that no queue or queue_table exists in the database presently.
I'm using 10.2.0.2 RAC database.
Can anyone help me to drop the schema?
Thanks in advance..
Regards,
AnjanI have followed the doc 203225.1..
Now getting the following error:
ORA-00081: address range [0x60000000000A89A0, 0x60000000000A89A4) is not readable
ORA-00600: internal error code, arguments: [kzdukl3], [24], [], [], [], [], [], [] -
Hi,
I have the streams admin user as "stradmin" and i have a queue table called "STREAMS_CAPTURE_QT"
I am not able to drop the streams user because i am not able to drop the queue table.
I tried the following.....
begin
DBMS_AQADM.DROP_QUEUE_TABLE(
queue_table => 'STREAMS_CAPTURE_QT',
force => TRUE);
end;
but i get below error....
begin
ERROR at line 1:
ORA-04031: unable to allocate 112 bytes of shared memory ("streams
pool","unknown object","streams pool","qulptr_kwqbscc")
ORA-06512: at "SYS.DBMS_AQADM_SYS", line 4102
ORA-06512: at "SYS.DBMS_AQADM", line 197
ORA-06512: at line 2
I checked my init.ora parameter file and i do have...
*.aq_tm_processes=0
*.shared_pool_size=500M
*.streams_pool_size=16777216
*.event='10298 trace name context forever, level 32'
Can someone help me to drop the queue table as well as the streams admin user.
Thanks in advance.Have you tried increasing the SGA size?
-
ORA-22913 while creating a QUEUE TABLE of a "Typed type"
Hi guys:
I'm trying to recreate an [AskTom's post|http://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:8760267539329], but with a single difference. My Oracle Type contains a field that is another Oracle Type and when I try to create a QUEUE_TABLE, I got the ORA-22913.
Here are my steps:
create or replace TYPE PODTL_TYPE AS OBJECT
item varchar2(25),
ref_item varchar2(25),
physical_location_type varchar2(1),
physical_location number(10),
physical_qty_ordered number(12,4),
unit_cost number(20,4),
origin_country_id varchar2(3),
supp_pack_size number(12,4),
earliest_ship_date date,
latest_ship_date date,
pickup_loc varchar2(250),
pickup_no varchar2(25),
packing_method varchar2(6),
round_lvl varchar2(6),
door_ind varchar2(1),
priority_level number(1),
new_item varchar2(1),
quarantine varchar2(1),
rcvd_unit_qty number(12,4),
tsf_po_link_id number(10),
cost_source varchar2(4),
est_in_stock_date date
create or replace TYPE PODtl_coll as table of PODTL_TYPE;
create or replace TYPE PODesc AS OBJECT
doc_type varchar2(1),
order_no varchar2(10),
order_type varchar2(9),
order_type_desc varchar2(250),
dept number(4),
dept_name varchar2(120),
buyer number(4),
buyer_name varchar2(120),
supplier varchar2(10),
promotion number(10),
prom_desc varchar2(160),
qc_ind varchar2(1),
not_before_date date,
not_after_date date,
otb_eow_date date,
earliest_ship_date date,
latest_ship_date date,
close_date date,
terms varchar2(15),
terms_code varchar2(50),
freight_terms varchar2(30),
cust_order varchar2(1),
payment_method varchar2(6),
payment_method_desc varchar2(40),
backhaul_type varchar2(6),
backhaul_type_desc varchar2(40),
backhaul_allowance number(20,4),
ship_method varchar2(6),
ship_method_desc varchar2(40),
purchase_type varchar2(6),
purchase_type_desc varchar2(40),
status varchar2(1),
ship_pay_method varchar2(2),
ship_pay_method_desc varchar2(40),
fob_trans_res varchar2(2),
fob_trans_res_code_desc varchar2(40),
fob_trans_res_desc varchar2(250),
fob_title_pass varchar2(2),
fob_title_pass_code_desc varchar2(40),
fob_title_pass_desc varchar2(250),
vendor_order_no varchar2(15),
exchange_rate number(20,10),
factory varchar2(10),
factory_desc varchar2(240),
agent varchar2(10),
agent_desc varchar2(240),
discharge_port varchar2(5),
discharge_port_desc varchar2(150),
lading_port varchar2(5),
lading_port_desc varchar2(150),
bill_to_id varchar2(5),
freight_contract_no varchar2(10),
po_type varchar2(4),
po_type_desc varchar2(120),
pre_mark_ind varchar2(1),
currency_code varchar2(3),
contract_no number(6),
pickup_loc varchar2(250),
pickup_no varchar2(25),
pickup_date date,
app_datetime date,
comment_desc varchar2(2000),
PODtl PODtl_coll
These are my 3 Oracle types. When I try to create the QUEUE TABLE:
DBMS_AQADM.CREATE_QUEUE_TABLE(
Queue_table => 'PODESC_QUEUE_TABLE',
Queue_payload_type => 'PODesc',
Multiple_consumers => TRUE);
END;
I got the following error:
22913. 00000 - "must specify table name for nested table column or attribute"
*Cause: The storage clause is not specified for a nested table column
or attribute.
*Action: Specify the nested table storage clause for the nested table
column or attribute.
How can I solve this?Here is the syntax used by Oracle in one of their internal tables.
orabase> select dbms_metadata.get_ddl('TABLE', 'ORDERS_QUEUETABLE', 'IX') from dual;
DBMS_METADATA.GET_DDL('TABLE','ORDERS_QUEUETABLE','IX')
CREATE TABLE "IX"."ORDERS_QUEUETABLE"
( "Q_NAME" VARCHAR2(30),
"MSGID" RAW(16),
"CORRID" VARCHAR2(128),
"PRIORITY" NUMBER,
"STATE" NUMBER,
"DELAY" TIMESTAMP (6),
"EXPIRATION" NUMBER,
"TIME_MANAGER_INFO" TIMESTAMP (6),
"LOCAL_ORDER_NO" NUMBER,
"CHAIN_NO" NUMBER,
"CSCN" NUMBER,
"DSCN" NUMBER,
"ENQ_TIME" TIMESTAMP (6),
"ENQ_UID" VARCHAR2(30),
"ENQ_TID" VARCHAR2(30),
"DEQ_TIME" TIMESTAMP (6),
"DEQ_UID" VARCHAR2(30),
"DEQ_TID" VARCHAR2(30),
"RETRY_COUNT" NUMBER,
"EXCEPTION_QSCHEMA" VARCHAR2(30),
"EXCEPTION_QUEUE" VARCHAR2(30),
"STEP_NO" NUMBER,
"RECIPIENT_KEY" NUMBER,
"DEQUEUE_MSGID" RAW(16),
"SENDER_NAME" VARCHAR2(30),
"SENDER_ADDRESS" VARCHAR2(1024),
"SENDER_PROTOCOL" NUMBER,
"USER_DATA" "IX"."ORDER_EVENT_TYP" , <---------------------- seems analogous to what you are trying to do
"USER_PROP" "SYS"."ANYDATA" ,
PRIMARY KEY ("MSGID")
USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS NOLOGGING
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "EXAMPLE" ENABLE
) USAGE QUEUE PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS NOLOGGING
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "EXAMPLE"
OPAQUE TYPE "USER_PROP" STORE AS BASICFILE LOB (
ENABLE STORAGE IN ROW CHUNK 8192 RETENTION
CACHE
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT))Spend some time looking in directories under $ORACLE_HOME and you may well find the DDL that built it. -
Hi All
Does any one knows how to create a queue table in the tablespace of the Oracle 10g database?Hi
I used the command
begin
sys.dbms_aqadm.create_queue_table(
queue_table => 'JMS_ABC_QUEUETABLE',
queue_payload_type => 'SYS.AQ$_JMS_MESSAGE',
sort_list => 'PRIORITY, ENQ_TIME',
compatible => '10.0.0',
primary_instance => 0,
secondary_instance => 0,
storage_clause => 'tablespace system pctfree 10 initrans 1 maxtrans 255
storage ( initial 64K minextents 1 maxextents unlimited )');
end;
and it shows
ORA-01950: no privileges on tablespace 'SYSTEM' -
Problems in creating Queue tables
Hi I'm trying to create a Queue table. For that I'm creating a new Object, and then a table type of the same Object and then a Queue table of the payload type of the created table type, for which I'm getting an error. I'm using the following list of Queries:
create or replace type CRM_TO_UMS_USR_DATA_TAB as object
PROVISION_ID varchar2(25)
PROVISION_DATE date
ERROR_CODE varchar2(20)
ERROR_MSG varchar2(50)
STATUS char
COMMENTS varchar2(50)
Result => no Error
create or replace type CRM_TO_UMS_USR_DATA_TYP as TABLE of CRM_TO_UMS_USR_DATA_TAB
Result => no Error
begin
dbms_aqadm.create_queue_table(queue_table => 'CRM_TO_UMS_DATA_QUE_TAB',queue_payload_type => 'CRM_TO_UMS_USR_DATA_TAB');
end;
Result =>
Error report:
ORA-00902: invalid datatype
ORA-06512: at "SYS.DBMS_AQADM_SYS", line 2830
ORA-06512: at "SYS.DBMS_AQADM", line 58
ORA-06512: at line 2
00902. 00000 - "invalid datatype"
I've given the following Grants for my schema user, for the purpose.
Grant aq_administrator_role to siebel;
GRANT EXECUTE ON dbms_aq TO siebel;
GRANT RESOURCE TO siebel;
GRANT CONNECT TO siebel;
GRANT EXECUTE ANY PROCEDURE TO siebel;
GRANT aq_administrator_role TO siebel;
GRANT aq_user_role TO siebel;
GRANT EXECUTE ON dbms_aqadm TO siebel;
GRANT EXECUTE ON dbms_aqin TO siebel;
Actually I've successfully created Queues with the above set of Queries in my other Development and UAT environments successfully, but when I'm trying to implement it with Prod I'm getting the Error. Anybody please help.
Thanks & Regards,
Srivathan, T.The type CRM_TO_UMS_USR_DATA_TAB is invalid because the syntax you're using is incorrect:
SQL> create or replace type CRM_TO_UMS_USR_DATA_TAB as object
2 (
3 PROVISION_ID varchar2(25)
4 PROVISION_DATE date
5 ERROR_CODE varchar2(20)
6 ERROR_MSG varchar2(50)
7 STATUS char
8 COMMENTS varchar2(50)
9 );
10 /
Warning: Type created with compilation errors.
SQL> begin
2 dbms_aqadm.create_queue_table(queue_table => 'CRM_TO_UMS_DATA_QUE_TAB',queue_payload_type => 'CRM_TO_UMS_USR_DATA_TAB');
3 end;
4 /
begin
ERROR at line 1:
ORA-00902: invalid datatype
ORA-06512: at "SYS.DBMS_AQADM_SYS", line 2822
ORA-06512: at "SYS.DBMS_AQADM", line 58
ORA-06512: at line 2
SQL> create or replace type CRM_TO_UMS_USR_DATA_TAB as object
2 (
3 PROVISION_ID varchar2(25),
4 PROVISION_DATE date ,
5 ERROR_CODE varchar2(20),
6 ERROR_MSG varchar2(50),
7 STATUS char(1),
8 COMMENTS varchar2(50)
9 );
10 /
Type created.
SQL> begin
2 dbms_aqadm.create_queue_table(queue_table => 'CRM_TO_UMS_DATA_QUE_TAB',queue_payload_type => 'CRM_TO_UMS_USR_DATA_TAB');
3 end;
4 /
PL/SQL procedure successfully completed.Max
http://oracleitalia.wordpress.com -
Messages remain in Queue Table
Hello,
I work as a dba in a company where my colleagues are developing an application that uses AQ.
The application is installed on multiple databases but we have a problem in a particular one:
the processed messages are not deleted from table by Oracle.
DBMS_AQADM.CREATE_QUEUE( Queue_name => 'my_AQ', Queue_table => 'AQT', Queue_type => 0, Max_retries => 65535, Retry_delay => 0, Retention_time => 2592000, dependency_tracking => FALSE);
SELECT msg_state, count(*) FROM AQT GROUP BY msg_state;
PROCESSED 830548
SELECT min(enq_time),max(enq_time) FROM AQT
07-OCT-10 01-AUG-12
SELECT value FROM v$parameter WHERE name='aq_tm_processes'
10
thanks,Hi,
I didn't notice this in your first post:
DBMS_AQADM.CREATE_QUEUE(
Queue_name => 'my_AQ',
Queue_table => 'AQT',
Queue_type => 0,
Max_retries => 65535,
Retry_delay => 0,
Retention_time => 2592000, <<<<<<<<<< why are you specifying such a high value for this?
dependency_tracking => FALSE
);Retention_time: See doc for this value: http://docs.oracle.com/cd/E11882_01/server.112/e11013/aq_admin.htm#i1006091
This parameter specifies the number of seconds a message is retained in the queue table after being dequeued from the queue. When retention_time expires, messages are removed by the time manager process. INFINITE means the message is retained forever. The default is 0, no retention.
You are asking for messages to be retained for 30 days, now looking at the min/max enq_time you have messages which are much older than this, but did you check when they were actually DQ'd (DEQ_TIME)?
Also, from my previous post, did you check out that MOS note ? Did you check what the Q00 processes are doing in the database?
Thanks
Paul -
HI All,
We create a brand new oracle multi-consumer queue. We have en-queued the messages into the queue and are processed successfully.
But when we checked the STATE Column of the messages in the queue table it was showing as "0". But it is showing as "PROCESSED" in the
AQ$<QUEUE_TABLE> msg_state column.
We are unable to figure out why there is a mismatch. Can any one help us ?
Regards,
Hari P.Hello,
the column value AQ$<QUEUE_TABLE>.MSG_STATE = 'PROCESSED' corresponds to column value <QUEUE_TABLE>.STATE = 2
(see definition of view AQ$<QUEUE_TABLE for the DECODE statement).
In your case you see a value of STATE = 0 instead of STATE = 2. Is this correct ? The value 0 corresponds to a state "READY" (the delay
is gone and the message is ready for dequeuing).
The AQ documentation says: "After the specified delay, the message is in the READY state and available for dequeuing."
Normally, you cannot see the processed data in your AQ because the enqueued data will be deleted after
successful dequeuing. You wrote that they were processed successfully.
Kind regards,
WoG -
Replace message payload object without remove queue table
hi,
i want to replace message payload object without remove queue table but i have got the "ORA-02303: cannot drop or replace a type with type or table dependents" error.
is there any way to replace message payload object without remove queue table?
Click to link below to find a demo which is explain the problem clearly
Replace message payload object without remove queue table
Regards.Hi
I answered this in Re: Replace message payload object without remove queue table forum.
Cheers, APC -
Edit message payload object without remove queue table
Hi, need ur help again,
Known that if we want to modify a message payload attribute (add,edit or delete), we will fail to do so if the message payload is used by existing AQ's queue table.
How to change the message payload object without remove the queue table?
Thanks!Hi
I answered this in Re: Replace message payload object without remove queue table forum.
Cheers, APC -
Issue - data is not inserting into queue table
Hi friends....i created a queue table & queue , started queue. while inserting number into queue, it is going fine. but , while browsing queue table, there is no data inserted into table. table is empty. i executed same script in another machine, it is working fine there.but, it is not working in my machine. i don't know why?.
can anybody please help me to find out what will be the issue.
these are the scripts i created........
BEGIN
DBMS_AQADM.CREATE_QUEUE_TABLE (
queue_table => 'put_queue_table',
queue_payload_type => 'sys.aq$_jms_text_message'
END;
anonymous block completed
BEGIN
DBMS_AQADM.CREATE_QUEUE (
queue_name => 'QUALTY_QUEUE',
queue_table => 'put_queue_table'
DBMS_AQADM.START_QUEUE (
queue_name => 'QUALTY_QUEUE'
END;
anonymous block completed
DECLARE
v_payload SYS.AQ$_JMS_TEXT_MESSAGE;
v_enqueue_options dbms_aq.enqueue_options_t;
v_message_properties dbms_aq.message_properties_t;
v_message_handle RAW(16);
v_text VARCHAR2(37);
BEGIN
v_text := to_char('157');
v_payload := SYS.AQ$_JMS_TEXT_MESSAGE.construct;
v_payload.set_text(v_text);
DBMS_AQ.ENQUEUE(
queue_name => 'QUALTY_QUEUE',
enqueue_options => v_enqueue_options,
message_properties => v_message_properties,
payload => v_payload,
msgid => v_message_handle
COMMIT;
END;
anonymous block completedPlease define what you mean by "when browsing [the] queue table" and why you think what you are doing should be inserting new rows in the table. Also please post full version information.
-
Full Export/Import Errors with Queue tables and ApEx
I'm trying to take a full export of an existing database in order to build an identical copy in another database instance, but the import is failing each time and causing problems with queue tables and Apex tables.
I have used both the export utility and Data Pump (both with partial and full exports) and the same problems are occurring.
After import, queue tables in my schema are unstable. They cannot be dropped using the queue admin packages as they throw ORA-24002: QUEUE_TABLE <table> does not exist exceptions. Trying to drop the tables causes the ORA-24005: must use DBMS_AQADM.DROP_QUEUE_TABLE to drop queue tables error
As a result, the schema cannot be dropped at all unless manual data dictionary clean up steps (as per metalink) are done.
The Apex import fails when creating foreign keys to WWV_FLOW_FILE_OBJECTS$PART. It creates the table ok, but for some reason the characters after the $ are missing so the referencing tables try to refer to WWV_FLOW_FILE_OBJECTS$ only.
I am exporting from Enterprise Edition 10.2.0.1 and importing into Standard edition 10.2.0.1, but we are not using any of the features not available in standard, and I doubt this would cause the issues I'm getting.
Can anyone offer any advice on how I can resolve these problems so a full import will work reliably?Thanks for the lead!
After digging around MetaLink some more, it sounds like I'm running into Bug 5875568 (MetaLink Note:5875568.8) which is in fact related to the multibyte character set. The bug is fixed in the server patch set 10.2.0.4 or release 11.1.0.6. -
Hi,
A Queue Table has been defined with payload type as SYS.AQ$_JMS_MESSAGE.
In java a property has been defined using setStringProperty("AdditionalMsgID",'123456').
Requirement is to get this property using sql SELECT statement.
Question is how can this be achieved.
By this "Requirement is to get this property using sql SELECT statement. "
what I mean is that this property can be used in selecting or sorting the messages by using it in "WHERE" clause or "ORDER BY" clause of sql "SELECT" statement.
I should be able to fire a SELECT statement from java using this property in the "ORDER BY" clause.
For Example:- SELECT * FROM MsgTable ORDER BY UserMsgID;
(where UserMsgID is a property defined in java for the message using setStringProperty() method.)
I should not have to dequeue or browse the message as that would mean getting the Message Body as well which can be very huge.
If I did not use JMS and instead I defined a simple type (structure) for holding the header and body of the message I am able to use that header in select statement. Similarly I wish if I could use the header or property defined in JMS as JMS payload is also built using type and type body.
Hoping for a concrete solution as our lots of problem would be solved if this works out.
Thanks & regards
Sanjeev
P.S. : I have posted a similar query in Advance queuing also but have not received any reply so I am posting it here hope one doesn't mind.
Message was edited by:
user453374Hello
I've not used JMS myself but I've been having a dig round and I think you should be able to do what you're wanting to. This very simple example shows the principal:
CREATE OR REPLACE TYPE ot_Test_Type IS OBJECT
( id number,
MEMBER FUNCTION GetProp(prop_name IN VARCHAR2) RETURN NUMBER
CREATE OR REPLACE TYPE BODY ot_Test_Type
AS
MEMBER FUNCTION GetProp(prop_name IN VARCHAR2) RETURN NUMBER
IS
ln_Ret NUMBER;
BEGIN
RETURN ASCII(prop_name);
END;
END;
SQL> create table dt_test_ot_tab of ot_test_type;
Table created.
SQL> insert into dt_test_ot_tab values(ot_test_type(1));
1 row created.
SQL> select a.id from dt_test_ot_tab a where a.getprop('a') = 97;
ID
1
SQL> select a.id from dt_test_ot_tab a where a.getprop('b') = 97;
no rows selected
SQL> select a.id from dt_test_ot_tab a where a.getprop('b') = 98;
ID
1So from the documentation for AQ$_JMS_MESSAGE, there are member functions
MEMBER FUNCTION get_boolean_property (property_name IN VARCHAR)
RETURN BOOLEAN,
MEMBER FUNCTION get_byte_property (property_name IN VARCHAR)
RETURN INT,
MEMBER FUNCTION get_short_property (property_name IN VARCHAR)
RETURN INT,
MEMBER FUNCTION get_int_property (property_name IN VARCHAR)
RETURN INT,
MEMBER FUNCTION get_long_property (property_name IN VARCHAR)
RETURN NUMBER,
MEMBER FUNCTION get_float_property (property_name IN VARCHAR)
RETURN FLOAT,
MEMBER FUNCTION get_double_property (property_name IN VARCHAR)
RETURN DOUBLE PRECISION,
MEMBER FUNCTION get_string_property (property_name IN VARCHAR)
RETURN VARCHAR);Which you should be able to call in the where caluse of a select on that table in a similar way to the example above. The main thing I found is that you need to alias the table to be able to call the function.
HTH
David
Message was edited by:
david_tyler
Oops! Forgot to put in the create table bit :-)
Maybe you are looking for
-
Using Display function in BDT FMMEASURE
Hi, Using BDT we are looking for a way to control display function on FMMEASURE. We get input and output header data with succes in the specific screen; unfortunatly, we don't know the mecanism to control display parameters. I think the diplay variab
-
Unexpected error compiling the runtime metadata for Split-Join.
Hi Everyone, We are getting below error while restarting the managed servers on Weblogic. We are having 6 managed servers in our cluster. In one of the application in OSB10.3, we are using SplitJoin to call third party webservices. The application is
-
Modifying parameters in Initialization file
Hi, I wanted to modify the control_files parameter in the Initialization file, whatz the SQL command to modify this ? and also how can I start my database in nomount mode using Oracle Enterprise manager, please advise. Regards Faiz
-
WS Upload not throwing error in new ECC 6 System
system was recently upgraded to ecc 6. programs with WS Upload are running fine without errors. but in the description it is mentioned OBSOLETE . but the FM is active. I am confused. Help!!! Regards, amit
-
Hi everyone. I'm having a debug event when trying to drop a clip into the timeline. I've read some of the other threads but that doesn't seem to be my problem. My scratch settings are all set to the hard drive (not a network), although the softwar