DB Tool Fetch RecordSet Data Bug?
I have a routine that do a fetch all on a csv file. If you use condition TPTemp=23, you will get row 5139. In that row, you have a value 0.98. However, depending on what you put in the csv file, you will get 0 for that number instead. What is going on?
Kudos and Accepted as Solution are welcome!
Attachments:
EnergyTP.csv 4 KB
DB_CSV Query.vi 34 KB
Hi Jackie,
Thank you for much for looking into it. I am doing a sql query with a csv file, because I would like to only select rows that meet certain criteria, and I would like to make my code more transparent when I convert the program to query a real database table instead of a csv file
It seems like the values are not being read into an variant correctly. If you look at the variant, you will see that the values are incorrect. Is it possible that when the subvi read the csv file, it doesn't know what format the values are supposed to be in and misread them? Thanks!
Yik
Kudos and Accepted as Solution are welcome!
Similar Messages
-
I have a sql query that run directly in the database but when I attempt to run it in labview using the create_parameterized_query.vi I and fetch_recordset_data.vi get the following error:
Error -2147217845 occurred at NI_Database_API.lvlib:Rec Fetch Recordset Data (R).vi->NI_Database_API.lvlib:Rec Fetch Recordset Data (CR).vi
Exception occured in OraOLEDB: Accessor is not a parameter accessor. in NI_Database_API.lvlib:Rec Fetch Recordset Data (R).vi->NI_Database_API.lvlib:Rec Fetch Recordset Data (CR).vi->
I've been using the tracer utility to try to see what the problem is but so far I haven't been able to figure out the problem. I have several other tables in my database that I'm pulling data from and this same structure and they run without any problems.
I'm enclosing my .vi
Thanks
Attachments:
Bottom_contact(SubVI).vi 21 KBHi montyponty,
According to a Google search it looks like error 2147217845 shows up a couple of times with Oracle databases. Does the following page offer any helpful suggestions:
http://forums.devx.com/showthread.php?t=47596
From which VI does the error originate from? Can you post the other code that does work so we have a comparison?
Joshua B.
National Instruments
NI Services
NI Support Resources
NI Training Resources -
SQL Fetch Recordset Data provides incomplete results
I am using the code below to return data from an SQL database. However, all of the elements in the variant array are blank except for the last column. Using "Database Variant to Data" doesn't help (everything but the last column is still blank). All of the columns are being correctly sent from "List Columns" to "Select Data". The SQL query is a simple "Select" statement that should return all of the data in the table. The SQL table is set up with all fields as text. Yes, there is data in the table. What else could be wrong?
I am using LabVIEW 2009 and the database connectivity toolkit and MS SQL Server 2005 Management Studio Express.
Solved!
Go to Solution.I get the same result with the code below. Any other ideas? Some kind of incompatability between LabVIEW and this version of SQL Server? I need to get this working by early next week.
-
I am having trouble iterating through the set of recordsets returned from a query that returns multiple tables. I am using the DB Tools Fetch Next Recordset.vi in a loop to iterate through recordsets until they have all been processed. One problem I have is that there is no indication that you have iterated past the end of recordsets. DB Tools Fetch Next Recordset does not produce an eof type indication like you get when iterating through records in a recordset.
My code is attached:
1. Open a database and execute a query that returns more than 1 table (SELECT * FROM tblA SELECT * FROM tblB)
2. Fetch the current recorset data and store in array.
3. Use DB Tools Fetch Next Recordset to move to the next recordset.
Question: What is the stop condition to test for?
Errors propogate through to the close vi which reports:
Error 97 occurred at Rec Get Recordset Properties (R).vi->Rec Fetch Recordset Data (R).vi->Untitled 1
Possible reason(s):
Unknown System Error in Rec Get Recordset Properties (R).vi->Rec Fetch Recordset Data (R).vi->Untitled 1
Any help or example for navigating recordsets?
Thanks,
-cb
Attachments:
Iterate recordsets3.png 21 KBHi,
I have a sql query in labview 2011 and i receive a lot of recordsets from it, i can group all records in arrays but i have the same error at the last cycle (i think is normal because it lost each recordset when i use fetch next recorset so the last cycle is consider like EOF and BOF at the same time) but i have other issues, when i tried to free the connection it appear error code 1045 about Rec Destroy and using the execution trace toolkit there are a lot of References Leak, i think maybe one per cycle.
My results are the expected but i have this problems.
I did a very simple example to reproduce my problems, it can use any sql db connection because it doesnt query colunms or data and presents the same things.
Thanks for your time
Attachments:
fecthallrecordset.JPG 83 KB
problems.JPG 71 KB -
Hi all.
I think that the problem I want to discuss is well-known, but still I got no answer whatever I tried ...
I installed the BIEE on Linux (32 bit, OEL 5 - to be more precise), the complete installation was not a big deal. After that I installed the Administration tool on my laptop and created the repository. So... my tnsnames.ora on the laptop looks like this:
TESTDB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.5)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = testdb)
And the tnsnames.ora on server, in its turn, looks like this:
TESTDB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = testdb.localdomain)
The database worked normally and I created and transferred the repository to the server and started it up.
It started without any errors, but when I tried to fetch the data via the representation services I got the error:
Odbc driver returned an error (SQLExecDirectW).
State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred.
[nQSError: 16023] The ODBC function has returned an error. The database may not be available, or the network may be down. (HY000)
I discovered, that the ODBC on my laptop was named not correctly (it should have been identical to tnsnames entry) - so I corrected it, saved and replaced the repository on the server and restarted it... - and still got the same error.
Apparently, something is wrong with the data source. So let me put here some more information...
My user.sh looks like this:
ORACLE_HOME=/u01/app/ora/product/11.2.0/dbhome_1
export ORACLE_HOME
TNS_ADMIN=$ORACLE_HOME/network/admin
export TNS_ADMIN
PATH=$ORACLE_HOME/bin:/opt/bin:$PATH
export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
and my odbc.ini looks like this:
[ODBC]
Trace=0
TraceFile=odbctrace.out
TraceDll=/u01/OracleBI/odbc/lib/odbctrac.so
InstallDir=/u01/OracleBI/odbc
UseCursorLib=0
IANAAppCodePage=4
[ODBC Data Sources]
AnalyticsWeb=Oracle BI Server
Cluster=Oracle BI Server
SSL_Sample=Oracle BI Server
TESTDB=Oracle BI Server
[TESTDB]
Driver=/u01/OracleBI/server/Bin/libnqsodbc.so
Description=Oracle BI Server
ServerMachine=local
Repository=SH
Catalog=
UID=
PWD=
Port=9703
[AnalyticsWeb]
Driver=/u01/OracleBI/server/Bin/libnqsodbc.so
Description=Oracle BI Server
ServerMachine=local
Repository=
Catalog=
UID=
PWD=
Port=9703
[Cluster]
Driver=/u01/OracleBI/server/Bin/libnqsodbc.so
Description=Oracle BI Server
ServerMachine=local
Repository=
FinalTimeOutForContactingCCS=60
InitialTimeOutForContactingPrimaryCCS=5
IsClusteredDSN=Yes
Catalog=SnowFlakeSales
UID=Administrator
PWD=
Port=9703
PrimaryCCS=
PrimaryCCSPort=9706
SecondaryCCS=
SecondaryCCSPort=9706
Regional=No
[SSL_Sample]
Driver=/u01/OracleBI/server/Bin/libnqsodbc.so
Description=Oracle BI Server
ServerMachine=localhost
Repository=
Catalog=SnowflakeSales
UID=
PWD=
Port=9703
SSL=Yes
SSLCertificateFile=/path/to/ssl/certificate.pem
SSLPrivateKeyFile=/path/to/ssl/privatekey.pem
SSLPassphraseFile=/path/to/ssl/passphrase.txt
SSLCipherList=
SSLVerifyPeer=No
SSLCACertificateDir=/path/to/ca/certificate/dir
SSLCACertificateFile=/path/to/ca/certificate/file.pem
SSLTrustedPeerDNs=
SSLCertVerificationDepth=9
Can anybody point a finger where the error line is? According to the documentation it should work fine.Maybe the driver name is wrong? What driver I need then?
Cause I can't find it.
I'm really sorry to bother, guys :) Let me know if you get some ideas about it (metalink didn't help).OK, several things wrong here. First the odbc.ini is not meant to be used for Oracle databases, that's not supported on Linux. On Linux you should OCI (Oracle native drivers) and nothing should be added on odbc.ini. Your user.sh seems to be pointing to your DB installation path. This is not correct. It should point to your Oracle client installation so you need to install the Oracle FULL client somewhere. Typically this is normally done with the same OS account as the one used for OBIEE whereas the DB normally runs with the oracle account. Once you got the client installed test it under the OBIEE account doing tnsping and sqlplus to your DB. Also the LD_LIBRARY_PATH should point to $ORACLE_HOME/lib32 not lib as the lib directory is the 64bits and OBIEE uses the 32bits libraries even in 64bits OSes. Finally change your RPD connection to use OCI. Make all those changes and you should be good.
-
Fetch tablespace data from Oracle database(HP UNIX server) to excel Sheet
Hi team,
I have 5 oracle databases and they all are on different machines. i want to fetch data(tablespace data) from db to excel.
here is my macro code
Sub tbs_STD()
Dim Conn As New ADODB.Connection
Dim RS As New ADODB.Recordset
Dim Cmd As New ADODB.Command
Dim sqlText As String
Dim Row As Long
Dim Findex As Long
Dim STD As Worksheet
Dim X As Long
Dim UID As String
Dim PWD As String
Dim Server As String
UID = "monitordb"
PWD = "monitor1"
Server = "STD"
Set STD = ActiveSheet
STD.Select
Conn.Open "PROVIDER=MSDAORA.Oracle;DATA SOURCE=" & Server & ";" & _
"USER ID=" & UID & ";PASSWORD=" & PWD
Cmd.ActiveConnection = Conn
Cmd.CommandType = adCmdText
sqlText = "select sum(a.tots/1048576) Tot_Size,sum(a.sumb/1048576) Tot_Free,round(sum(a.tots-a.sumb)*100/sum(a.tots),2) Pct_used,sum(a.largest/1024) Max_Free,sum(a.chunks) Chunks_Free from(select tablespace_name,0 tots,sum(bytes) sumb,max(bytes) largest,count(*) chunks from dba_free_space a group by tablespace_name union select tablespace_name,sum(bytes) tots,0,0,0 from dba_data_files group by tablespace_name) a group by a.tablespace_name order by a.tablespace_name"
Cmd.CommandText = sqlText
Set RS = Cmd.Execute
For X = 0 To 4 ' Number of columns returning minus 1
'Data.Cells(1, X + 1) = RS.Fields(X).Name
Next
Do While Not RS.EOF
Row = Row + 1
For Findex = 0 To RS.Fields.Count - 1
STD.Cells(Row + 2, Findex + 67) = RS.Fields(Findex).Value
Next Findex
RS.MoveNext
Loop
End Sub
I am able to connect through sqlplus on all machines but when i run the above code it gives me TNS error..
ORA-12154- TNS could not resolve the connect identifier specified..
Each database use same port 1527 and only one of them is able to fetch the data. and if i remove that database from client then the other one starts connecting. I think problem is due to same port number.
Entries in the listener.ora file was made throough oracle client only 32bit.
and i have installed both 10g and 11g client on my local machine.
Please help.You need to configure tnsnames.ora in your OracleClient\network\admin folder with the TNS entries for the servers you're connecting to.
-
Fetch New Data shows two entries for one account
I have on a variety of accounts on my iPhone and my iPad: an iCloud, an Exchange, a IMAP, and a couple of Gmail accounts.
Earlier this week, I noticed that in the "Fetch New Data" setting (Settings > Mail, Contacts, Calendar > Fetch New Data), there are TWO entries for one of the Gmail accounts.
One entry lists "Mail and Calendars." I use this for this particular Gmail account. I have these selected in the "Accounts" section of Settings > Mail, Contacts, Calendar.
The other entry lists "Contacts and Calendars." I don't sync Contacts, but I do sync Calendars. Why is it listed twice?
I tried deleting
the offending Gmail account, but it did not delete the duplicate entries.
erasing all settings
all of my accounts, including iCloud, IMAP, and other accounts.
The ghost account is still there, fetching calendars and contacts.
Has anyone else seen this behavior?
I considered erasing settings and content, but that seems pretty extreme for something that might not be that big of an issue.Exact same problem here!!! Iphone 5s with IOS 7.0.3, using Gmail among other email providers.
So it is definately a bug - the "fetch new data ghost account". I hope it will be solved in a newer release. In the meantime, I switched the ghost account to "manual" so it shouldn't interfere... -
Want to fetch Material Data from R/3 to cFolders...
<b>Hellow All,
I want to fetch material data from R/3 to cfolders..Actually I need to use the skeliton of the material,I don't need to create actual material over here..How can I do that? Secondly,when we create a material inside cfiolder,where is it stored?Is it stored there in R/3 or it is stored somewhere else? If any one of you need more clarification,then please ask me..</b>I'm not aware of any SAP tools to automate the export to cfolders - perhaps you could get a developer to have a look at the available function modules for CFX* and see if there'e something you could build (e.g. using CFX_API_DOC_MATERIAL_WRITE - use the Webservicebrowser to find the other CFX* functions).
However, I'm not sure what exactly are you trying to achieve and why? To have all (or a subset) of material records available and updated in cFolders at all times? How would you structure these in cFolders without making it difficult to browse?
Also see Badri's comment about cFolders 4.0 (which I'm going to look into too - Thanks Badri, I'd missed that ) perhaps that also allows you to pull in materials 'on demand'?? -
Not able to fetch the data by Virtual Cube
Hi Experts,
My requirement is I need to fetch the data from Source System (From Data base table) by using Virtual Cube.
What I have done is I have created Virtual Cube and created corresponding Function Module in Source System.
That Function MOdule is working fine, if Data base table is small in Source System.But If data base table contains huge amount of data (millions of record), I am not able to fetch the data.
Below is the code I have incorporated in my function module.
c_th_mapping TYPE CL_RSDRV_EXTERNAL_IPROV_SRV=>TN_TH_IOBJ_FLD_MAPPING.
DATA:
l_s_map TYPE CL_RSDRV_EXTERNAL_IPROV_SRV=>TN_S_IOBJ_FLD_MAPPING.
l_s_map-iobjnm = '0PARTNER'.
l_s_map-fldnm = 'PARTNER'.
insert l_s_map into table l_th_mapping.
create object l_r_srv
exporting
i_tablnm = '/SAPSLL/V_BLBP'
i_th_iobj_fld_mapping = l_th_mapping.
l_r_srv->open_cursor(
i_t_characteristics = characteristics[]
i_t_keyfigures = keyfigures[]
i_t_selection = selection[] ).
l_r_srv->fetch_pack_data(
importing
e_t_data = data[] ).
return-type = 'S'.
In the above function Module,Internal table L_TH_MAPPING contains Info Objects from Virtual Cube and corresponding field from Underlying data base table.
The problem where I am facing is, in the method FETCH_PACK_DATA, initially program is trying to fetch all the recordsfrom data base table to internal table.If Data base table so lagre, this logic is not working.
So would you please help me how to handle these kind of issues.Hi Experts,
My requirement is I need to fetch the data from Source System (From Data base table) by using Virtual Cube.
What I have done is I have created Virtual Cube and created corresponding Function Module in Source System.
That Function MOdule is working fine, if Data base table is small in Source System.But If data base table contains huge amount of data (millions of record), I am not able to fetch the data.
Below is the code I have incorporated in my function module.
c_th_mapping TYPE CL_RSDRV_EXTERNAL_IPROV_SRV=>TN_TH_IOBJ_FLD_MAPPING.
DATA:
l_s_map TYPE CL_RSDRV_EXTERNAL_IPROV_SRV=>TN_S_IOBJ_FLD_MAPPING.
l_s_map-iobjnm = '0PARTNER'.
l_s_map-fldnm = 'PARTNER'.
insert l_s_map into table l_th_mapping.
create object l_r_srv
exporting
i_tablnm = '/SAPSLL/V_BLBP'
i_th_iobj_fld_mapping = l_th_mapping.
l_r_srv->open_cursor(
i_t_characteristics = characteristics[]
i_t_keyfigures = keyfigures[]
i_t_selection = selection[] ).
l_r_srv->fetch_pack_data(
importing
e_t_data = data[] ).
return-type = 'S'.
In the above function Module,Internal table L_TH_MAPPING contains Info Objects from Virtual Cube and corresponding field from Underlying data base table.
The problem where I am facing is, in the method FETCH_PACK_DATA, initially program is trying to fetch all the recordsfrom data base table to internal table.If Data base table so lagre, this logic is not working.
So would you please help me how to handle these kind of issues. -
Reg: fetch the data by using item_id which is retuned by In line View Query
Hi all,
create table xxc_transactions(type_id number,trx_line_id number ,item_id number,org_id number);
insert into xxc_transactions values(null,null,null,null);
create table xxc_items1(item_id number,org_id number,item_no varchar2(10));
insert into xxc_items1 values(123,12,'book');
create table xxc_headers(header_id number,order_id number);
insert into xxc_headers values(null,null);
create table xxc_lines(header_id number,item_id number,line_id number);
insert into xxc_lines values(null,null,null);
create table xxc_types_tl(transaction_id number,NAME varchar2(10));
insert into xxc_types_tl values(106,'abc');
create table xxc_quantity(item_id number);
insert into xxc_quantity values (123);
create table xxc_quantity_1(item_id number);
insert into xxc_quantity_1 values (123);
SELECT union_id.item_id,
b.org_id,
e.name,
fun1(union_id.item_id) item_no
FROM xxc_transactions a,
xxc_items1 b,
xxc_headers c,
xxc_lines d,
xxc_types_tl e,
(SELECT item_id
FROM xxc_quantity
WHERE item_id = 123
UNION
SELECT item_id
FROM xxc_quantity_1
WHERE item_id = 123
UNION
SELECT item_id
FROM xxc_transactions
WHERE item_id = 123) union_id
WHERE a.type_id = 6
AND a.item_id = b.item_id
AND union_id.item_id = b.item_id
AND a.org_id = b.org_id
AND c.header_id = d.header_id
AND d.line_id = a.trx_line_id
AND d.item_id = b.item_id
AND c.order_id = e.transaction_id
AND b.org_id = 12
GROUP BY union_id.item_id,
b.org_id,
e.name
ORDER BY union_id.item_id;
create or replace function fun1(v_item in number)
return varchar2
is
v_item_no
Begin
select item_no from xxc_items1
where item_id=v_item;
return v_item_no ;
Exception
When Others Then
v_item_no := null;
return v_item_no;
END fun1;
I need fetch the data by using item_id which is retuned by In line View Query(UNION)
item_id org_id name item_no
123 12 abc book
Version: 11.1.0.7.0 and 11.2.0.1.0
Message was edited by: Rajesh123 Added test cases script
Message was edited by: Rajesh123 changed Question as fetch the data by using item_id which is retuned by In line View Query(UNION)Hi Master , sorry for the late reply and can you please help on this?
create table xxc_transactions(type_id number,trx_line_id number ,item_id number,org_id number);
insert into xxc_transactions values(null,null,null,null);
create table xxc_items(item_id number,org_id number,item_no varchar2(10));
insert into xxc_items values(123,12,'book');
create table xxc_headers(header_id number,order_id number);
insert into xxc_headers values(null,null);
create table xxc_lines(header_id number,item_id number,line_id number);
insert into xxc_lines values(null,null,null);
create table xxc_types_tl(transaction_id number,NAME varchar2(10));
insert into xxc_types_tl values(106,'abc');
create table xxc_uinon_table(item_id number);
insert into xxc_types_tl values(123);
SELECT union_id.item_id,
b.org_id ,
e.name ,
fun1(union_id.item_id) item_no --> to get item_no
FORM xxc_transactions a,
xxc_items b,
xxc_headers c,
xxc_lines d,
xxc_types_tl e,
( SELECT item_id
FROM xxc_uinon_table ) union_id
WHERE a.type_id= 6
AND a.item_id = b.item_id
AND union_id.item_id = b.item_id
AND a.org_id = b.org_id
AND c.header_id = d.header_id
AND d.line_id= a.trx_line_id
AND d.item_id= b.item_id
AND c.order_id= e.transaction_id ---106
AND b.org_id = 12
GROUP BY union_id.item_id,
b.org_id ,
e.name
ORDER BY union_id.item_id;
Note: xxc_uinon_table is a combination of UNION's
select 1 from dual
union
select 1 from dual
union
select no rows returned from dual;
I will get 1 from the above Query
Thank you in advanced -
Error when Fetching CATs Data to BI
Hi,
I have created data source in R/3 System (Source System) for CATS data and extracting data Using function Module. Using transaction RSA3 it is fetching all the desired records in R/3 System.
In BI System extracting Full Data and when monitoring it is throwing Error.
Error 7 when sending an IDoc
Error when opening an RFC connection 2
Error when opening an RFC connection
Errors in source system
Function Module for fetching CATS Data
FUNCTION ZLBTIME_GET_CATSREC.
*"*"Local Interface:
*" IMPORTING
*" VALUE(I_REQUNR) TYPE SRSC_S_IF_SIMPLE-REQUNR
*" VALUE(I_DSOURCE) TYPE SRSC_S_IF_SIMPLE-DSOURCE OPTIONAL
*" VALUE(I_MAXSIZE) TYPE SRSC_S_IF_SIMPLE-MAXSIZE OPTIONAL
*" VALUE(I_INITFLAG) TYPE SRSC_S_IF_SIMPLE-INITFLAG OPTIONAL
*" VALUE(I_READ_ONLY) TYPE SRSC_S_IF_SIMPLE-READONLY OPTIONAL
*" VALUE(I_REMOTE_CALL) TYPE SBIWA_FLAG DEFAULT SBIWA_C_FLAG_OFF
*" TABLES
*" I_T_SELECT TYPE SRSC_S_IF_SIMPLE-T_SELECT OPTIONAL
*" I_T_FIELDS TYPE SRSC_S_IF_SIMPLE-T_FIELDS OPTIONAL
*" E_T_DATA STRUCTURE ZLSCATS OPTIONAL
*" EXCEPTIONS
*" NO_MORE_DATA
*" ERROR_PASSED_TO_MESS_HANDLER
* Example: DataSource for table SFLIGHT
* TABLES: SFLIGHT.
* Auxiliary Selection criteria structure
DATA: L_S_SELECT TYPE SRSC_S_SELECT.
* Maximum number of lines for DB table
STATICS: S_S_IF TYPE SRSC_S_IF_SIMPLE,
* counter
S_COUNTER_DATAPAKID LIKE SY-TABIX,
* cursor
S_CURSOR TYPE CURSOR.
* Select ranges
** RANGES: L_R_CARRID FOR SFLIGHT-CARRID,
** L_R_CONNID FOR SFLIGHT-CONNID.
* Initialization mode (first call by SAPI) or data transfer mode
* (following calls) ?
IF I_INITFLAG = SBIWA_C_FLAG_ON.
* Initialization: check input parameters
* buffer input parameters
* prepare data selection
* Check DataSource validity
CASE I_DSOURCE.
WHEN 'ZLTIME_DS_3'.
WHEN OTHERS.
IF 1 = 2. MESSAGE E009(R3). ENDIF.
* this is a typical log call. Please write every error message like this
LOG_WRITE 'E' "message type
'R3' "message class
'009' "message number
I_DSOURCE "message variable 1
' '. "message variable 2
RAISE ERROR_PASSED_TO_MESS_HANDLER.
ENDCASE.
APPEND LINES OF I_T_SELECT TO S_S_IF-T_SELECT.
* Fill parameter buffer for data extraction calls
S_S_IF-REQUNR = I_REQUNR.
S_S_IF-DSOURCE = I_DSOURCE.
S_S_IF-MAXSIZE = I_MAXSIZE.
* Fill field list table for an optimized select statement
* (in case that there is no 1:1 relation between InfoSource fields
* and database table fields this may be far from beeing trivial)
APPEND LINES OF I_T_FIELDS TO S_S_IF-T_FIELDS.
ELSE. "Initialization mode or data extraction ?
* Data transfer: First Call OPEN CURSOR + FETCH
* Following Calls FETCH only
* First data package -> OPEN CURSOR
IF S_COUNTER_DATAPAKID = 0.
* Fill range tables BW will only pass down simple selection criteria
* of the type SIGN = 'I' and OPTION = 'EQ' or OPTION = 'BT'.
** LOOP AT S_S_IF-T_SELECT INTO L_S_SELECT WHERE FIELDNM = 'CARRID'.
** MOVE-CORRESPONDING L_S_SELECT TO L_R_CARRID.
** APPEND L_R_CARRID.
** ENDLOOP.
** LOOP AT S_S_IF-T_SELECT INTO L_S_SELECT WHERE FIELDNM = 'CONNID'.
** MOVE-CORRESPONDING L_S_SELECT TO L_R_CONNID.
** APPEND L_R_CONNID.
** ENDLOOP.
* Determine number of database records to be read per FETCH statement
* from input parameter I_MAXSIZE. If there is a one to one relation
* between DataSource table lines and database entries, this is trivial.
* In other cases, it may be impossible and some estimated value has to
* be determined.
** OPEN CURSOR WITH HOLD S_CURSOR FOR
** SELECT (S_S_IF-T_FIELDS) FROM SFLIGHT
** WHERE CARRID IN L_R_CARRID AND
** CONNID IN L_R_CONNID.
OPEN CURSOR WITH HOLD s_cursor FOR
* SELECT * FROM zlvctmbw.
SELECT a~counter a~pernr a~workdate a~skostl a~lstar a~rproj a~awart a~kokrs a~meinh a~tcurr a~price
a~unit a~bukrs a~ersda a~erstm a~ernam a~laeda a~laetm a~status a~refcounter a~reason a~belnr
a~catshours a~act1 a~act2 a~task a~lang1 a~narr1 a~lang2 a~narr2 a~cmnt a~clst a~plchl
b~ltxa1 b~transfer b~hrkostl b~hrlstar b~hrcostasg b~statkeyfig b~catsquantity b~bemot
c~pspnr c~pspid
d~kunnr
FROM catsdb AS a
LEFT OUTER JOIN catsco AS b ON a~counter = b~counter
JOIN prps AS p ON p~pspnr = a~rproj
JOIN proj AS c ON c~pspnr = p~psphi
JOIN zltproj AS d ON d~pspnr = c~pspnr.
ENDIF. "First data package ?
* Fetch records into interface table.
* named E_T_'Name of extract structure'.
FETCH NEXT CURSOR S_CURSOR
APPENDING CORRESPONDING FIELDS
OF TABLE E_T_DATA
PACKAGE SIZE S_S_IF-MAXSIZE.
IF SY-SUBRC <> 0.
CLOSE CURSOR S_CURSOR.
RAISE NO_MORE_DATA.
ENDIF.
S_COUNTER_DATAPAKID = S_COUNTER_DATAPAKID + 1.
ENDIF. "Initialization mode or data extraction ?
ENDFUNCTION.
When fetching data using VIEW in source system it works fine.
When testing for fetching data of SFLIGHT using function module ZRSAX_BIW_GET_DATA_SIMPLE
made a copy of RSAX_BIW_GET_DATA_SIMPLE, it is working fine.
Pls suggest the cause of error.
Regards
VishalHello Praveen,
Connection is fine as I tried fetching data of SFLIGHT using standard template function module which works fine and in transaction sm58 I do not any data.
Regards
Vishal -
Error -1074118610 occurred at niUSRP Fetch Rx Data (CDB Cluster).vi
I researched this error in forum ,however, I don't reach the solutions.
Error -1074118610 occurred at niUSRP Fetch Rx Data (CDB Cluster).vi
The received data is out of sequence. This may be a symptom of overflows due to an inability to maintain streaming at the specified IQ Rate, or rearrangement of packets by an ethernet adapter or network switch.
When I start to USRP, I am taking this error 6-7 minutes later. I tried IQ Rate= 2M and samples per symbol=4 also IQ Rate is approximately 192k and samples per symbol= 20 for 9600 baud rate.Hello ITUbahadir
I understand you are NOT testing a LabVIEW shipping example. If this is correct, Could you try to test the shipping examples? Same error? If this is incorrect, what is the name of the example?
If the problem is specific to your code, could you share it? If you are not able to do that, could you explain me what have you changed to the code?
Regards
Frank R. -
How to fetch the data from pl/sql table dynamically
Hi All, I have the requirement of comparing two db views data in pl/sql. So, I have bulk collect the view into pl/sql table. But, the issue is, It is expecting to provide the column name for comparison. But, in my case, column name is dynamic. So, i cannot provide the column name directly for comparison.
For eg: In my view t1_VW, i have 4 columns. stid, c1,c2,c3,c4 and similar structure for t2_vw
my code
TYPE v1_type IS TABLE OF t1_vw%ROWTYPE;
l_data v1_type;
TYPE v1_type1 IS TABLE OF t2_vw%ROWTYPE;
l_data1 v1_type1;
test varchar2(1000);
test1 varchar2(1000);
temp1 number;
begin
SELECT * Bulk collect into l_data
FROM T1_VW;
SELECT * Bulk collect into l_data1
FROM T2_VW;
select l_data(1).stid into temp1 from dual; -- It is working fine and gives me the value properly
-- But, in my case, we are reading the column names from array, i am constructing the query dynamically and execute it.
test :='select l_data(1).stid into temp1 from dual';
execute immediate test into temp1;
-- I am getting error as follows:
Error report:
ORA-00904: "L_DATA": invalid identifier
ORA-06512: at "SYSTEM.BULKCOMPARISON", line 93
ORA-06512: at line 2
00904. 00000 - "%s: invalid identifier"
*Cause:
*Action
end;
- Please help me to get rid of this issue. Is it possible to construct the query dynamically and fetch the data?. If not, is there any other better approach to compare the data between two views?.Output should display what are all columns changed and its old value and new value.
For eg., output should be
COLUMNNAME OLD_VALUE NEW_VALUE STID
C1 20 10 1
C2 50 40 2
C3 60 70 2
C2 80 90 3Why no do this only via a simple sql ?
create table a (STID number, C1 number, C2 number, C3 number);
insert into a values (1, 20, 30, 40)
insert into a values (2, 40, 50, 60);
insert into a values (3, 90, 80, 100);
create table b as select *
from a where 1 = 0;
insert into b values (1, 10, 30, 40)
insert into b values (2, 40, 40, 70);
insert into b values (3, 90, 90, 100);
commit;And now you can issue such a kind of select
SELECT stid , c1, c2, c3
FROM
( SELECT a.*,
1 src1,
to_number(null) src2
FROM a
UNION ALL
SELECT b.*,
to_number(null) src1,
2 src2
FROM b
GROUP BY stid , c1, c2, c3
HAVING count(src1) <> count(src2)
order by stid;I would then create a new table a_b_difference having the same structure as a or b and insert into it like this
create table a_b_diff as select * from a where 1 = 0;
insert into a_b_diff
SELECT stid , c1, c2, c3
FROM
( SELECT a.*,
1 src1,
to_number(null) src2
FROM a
UNION ALL
SELECT b.*,
to_number(null) src1,
2 src2
FROM b
GROUP BY stid , c1, c2, c3
HAVING count(src1) <> count(src2)
order by stid
;Then each time there is a difference between a column in a and its equivalente one in b (per unique stid ) a record will be inserted in this table.
You can do more by adding the name of the table in front of each record in this table to see exactly where the data comes from
Best Regards
Mohamed Houri -
How to fetch the data from databse table and get the required output
Hi,
I have made a project that connects CEP to database table but i m getting some problem in fetching the data from database.
From the following code :
If the where condition is removed then the application runs fine but i am still not able to fetch the data from the table because it is not showing any output.
Can anyone please suggest me that how to write WHERE statement correctly and how i will be able to see the output.
Following is the config.xml for processor:
======================================
<?xml version="1.0" encoding="UTF-8"?>
<wlevs:config xmlns:wlevs="http://www.bea.com/ns/wlevs/config/application"
xmlns:jdbc="http://www.oracle.com/ns/ocep/config/jdbc">
<processor>
<name>JDBC_Processor</name>
<rules>
<query id="q1"><![CDATA[
SELECT STOCK.SYMBOL as symbol, STOCK.EXCHANGE as exchange
FROM ExchangeStream [Now] as datastream, STOCK
WHERE datastream.SYMBOL = datastream.SYMBOL ]]></query>
</rules>
</processor>
<jms-adapter>
<name>JMS_IN_Adapter</name>
<jndi-provider-url>t3://CHDSEZ135400D:7001</jndi-provider-url>
<destination-jndi-name>jms.TestKanikaQueue</destination-jndi-name>
<user>weblogic</user>
<password>welcome1</password>
</jms-adapter>
</wlevs:config>
Following is the assembly file:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:osgi="http://www.springframework.org/schema/osgi"
xmlns:wlevs="http://www.bea.com/ns/wlevs/spring" xmlns:jdbc="http://www.oracle.com/ns/ocep/jdbc"
xmlns:spatial="http://www.oracle.com/ns/ocep/spatial"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/osgi
http://www.springframework.org/schema/osgi/spring-osgi.xsd
http://www.bea.com/ns/wlevs/spring
http://www.bea.com/ns/wlevs/spring/spring-wlevs-v11_1_1_3.xsd
http://www.oracle.com/ns/ocep/jdbc
http://www.oracle.com/ns/ocep/jdbc/ocep-jdbc.xsd
http://www.oracle.com/ns/ocep/spatial
http://www.oracle.com/ns/ocep/spatial/ocep-spatial.xsd">
<wlevs:event-type-repository>
<wlevs:event-type type-name="StockEvent">
<wlevs:properties>
<wlevs:property name="SYMBOL" type="byte[]" length="16" />
<wlevs:property name="EXCHANGE" type="byte[]" length="16" />
</wlevs:properties>
</wlevs:event-type>
<wlevs:event-type type-name="ExchangeEvent">
<wlevs:class>com.bea.wlevs.event.example.JDBC_CEP.ExchangeEvent</wlevs:class>
</wlevs:event-type>
<wlevs:event-type type-name="StockExchangeEvent">
<wlevs:properties>
<wlevs:property name="symbol" type="byte[]" length="16" />
<wlevs:property name="price" type="byte[]" length="16" />
<wlevs:property name="exchange" type="byte[]" length="16" />
</wlevs:properties>
</wlevs:event-type>
</wlevs:event-type-repository>
<bean id="readConverter" class="com.bea.wlevs.adapter.example.JDBC_CEP.Adapter_JDBC" />
<bean id="outputJDBCBean" class="com.bea.wlevs.bean.example.JDBC_CEP.OutputBean_JDBC">
</bean>
<wlevs:adapter id="JMS_IN_Adapter" provider="jms-inbound">
<wlevs:listener ref="ExchangeStream" />
<wlevs:instance-property name="converterBean"
ref="readConverter" />
</wlevs:adapter>
<wlevs:processor id="JDBC_Processor" advertise="true">
<wlevs:listener ref="OutputChannel" />
<wlevs:table-source ref="STOCK" />
</wlevs:processor>
<wlevs:channel id="ExchangeStream" event-type="ExchangeEvent" advertise="true">
<wlevs:listener ref="JDBC_Processor" />
</wlevs:channel>
<wlevs:channel id="OutputChannel" event-type="StockExchangeEvent"
advertise="true">
<wlevs:listener ref="outputJDBCBean" />
</wlevs:channel>
<wlevs:table id="STOCK" event-type="StockEvent"
data-source="StockDs" table-name="STOCK" />
<wlevs:table id="STOCK_EXCHANGE" event-type="StockExchangeEvent"
data-source="StockDs" table-name="STOCK_EXCHANGE" />
</beans>
ExchangeEvent.java:
package com.bea.wlevs.event.example.JDBC_CEP;
public class ExchangeEvent {
public String SYMBOL;
public String symbol;
public String exchange;
public ExchangeEvent() {
public String getSYMBOL() {
return SYMBOL;
public void setSYMBOL(String sYMBOL) {
SYMBOL = sYMBOL;
public String getSymbol() {
return symbol;
public void setSymbol(String symbol) {
this.symbol = symbol;
public String getExchange() {
return exchange;
public void setExchange(String price) {
this.exchange = price;
Adapter Class:
package com.bea.wlevs.adapter.example.JDBC_CEP;
import com.bea.wlevs.adapter.example.JDBC_CEP.MyLogger;
import com.bea.wlevs.adapters.jms.api.InboundMessageConverter;
import java.text.DateFormat;
import java.util.Date;
import com.bea.wlevs.adapters.jms.api.MessageConverterException;
import com.bea.wlevs.event.example.JDBC_CEP.ExchangeEvent;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.TextMessage;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
public class Adapter_JDBC implements InboundMessageConverter{
@SuppressWarnings("unchecked")
public List convert(Message message) throws MessageConverterException, JMSException {
Random rand = new Random();
int unique_id = rand.nextInt();
DateFormat dateFormat;
dateFormat = DateFormat.getTimeInstance();
dateFormat.format(new Date());
MyLogger.info(unique_id + " CEP Start Time is: " + dateFormat.format(new Date()));
System.out.println("Message from the Queue is :"+ message);
TextMessage textMessage = (TextMessage) message;
String stringMessage = textMessage.getText().toString();
System.out.println("Message after getting converted into String is :"+ stringMessage);
String[] results = stringMessage.split(",\\s*"); // split on commas
ExchangeEvent event1 = new ExchangeEvent();
event1.setSYMBOL(results[0]);
List events = new ArrayList(2);
events.add(event1);
return events;
Output Bean Class :
package com.bea.wlevs.bean.example.JDBC_CEP;
import com.bea.wlevs.ede.api.StreamSink;
import com.bea.wlevs.event.example.JDBC_CEP.ExchangeEvent;
import com.bea.core.datasource.DataSourceService;
public class OutputBean_JDBC implements StreamSink{
public void onInsertEvent(Object event) {
if (event instanceof ExchangeEvent) {
ExchangeEvent cacheEvent = (ExchangeEvent) event;
System.out.println("Symbol is: " + cacheEvent.getSymbol());
System.out.println("Exchange is: " + cacheEvent.getExchange());
System.out.println(DataSourceService.class.getClass());
Kindly let me know if you need further info.Do you have StockDs configured in your server config.xml?
I think the query should look more like this:
SELECT stocks.SYMBOL, stocks.EXCHANGE
FROM STOCK as stocks, ExchangeStream [Now] as datastream WHERE stocks.SYMBOL = datastream.SYMBOL
Thanks
andy -
How to Fetch the Data from a Cube
Dear All,
We created a cube containing dimensions
Customer, Product, Branch, Activity, Time dimensions
using Oracle Analytical WorkSpace Manager.
Once Cube is created,
How can I see the Data existing in the Cube using normal SQL Queries ??? Through Analytical Workspace Manager Toll we r able to see the data. But our requirement is to see the data from the Cube using SQL Queries.
Regards,
S.Vamsi KrishnaHey I got the Solution. It follows in this way :
A Cube is nothing but a Data Storage. Based on the Mapping we given it considers the data.
To fetch the data from the Cube -> we have to write the SQl Query as below :
SELECT dealer_name,model_name,sales
FROM TABLE(OLAP_TABLE('MDB.FINAL_AW DURATION SESSION',
'DIMENSION dealer_name AS varchar2(30) FROM FINALDEAL
DIMENSION model_name AS varchar2(30) FROM FINALMODEL'));
We can create View for the above statement o
we can apply group by ,rollup, etc etc clauses
and even we can write where clauses for the above select statement.
But now my doubt is :
can we apply any calculations while mapping the Level to an Dimension.
Generally we will map Level toa dimension as DBUSER.TABLENAME.COLUMN NAME
can we apply any calculation like :
MIS.PROPKEY020MB.MATURITY_DATE+2
Please help for the above.
If any wrong is there please let me know
Regards,
S.Vamsi Krishna
can we apply
Maybe you are looking for
-
How to get my new in-car entertainment system to recognise my old 20g iPod by usb connection
how to get my new in-car entertainment system to recognise my old 20g ipod by usb
-
I have been a bit busy trying to work with the real Android Devs reguarding this issue. Why is there nothing, (not that I looked very hard) on the verizon fourm about the recent 2 (very serious) trojans that are going around? Not even a decent mentio
-
Equivalent of DB2 functions in ORACLE 11g
Hi, I am trying to convert the SQL queries written in DB2 to ORACLE. There are some db2 specific functions are used in the queries.I am not able to find the equivalent function in ORACLE. The function names are written below: 1) DateDD() 2) SELECT @@
-
Hide the command box in sap gui
Hi, Good to see the SAP GUI form, we are bringing SAP R/3 transactions in Enterprise Portal, every time the r/3 transaction opens in iview (SAP GUI for windows). It shows the normal screen with "Command box" on the top, now we dont want the user to b
-
Running custom BI (XML) publisher report from BPEL
We would like to run a custom BI publisher (XML publisher) report from BPEL process and the resultant PDF report output needs to be FTPed to specific location. BPEL can pass on the XML content required for the report. Is this possible or any workarou