Read Data from "virtual" Cube with different ConsUnit Hier. Version
Dear all,
I got a odd request.
I need to load data from the virutal Reporting-Bapi Cube for a certain Data Version.
This Version has been attached to a new consUnit Hierachy a few weeks ago.
Now we get a request to read data in the past for units which are not present in the current hierarchy anymore.
I know that this is a general issue... but does anyone got a workaround for this?
Thanks in advance,
regards
Oliver
Dear All,
Restamtent functionality did not help at this issue.
What we did a Copy of the Version and attached the "old" hierachy.
This was the only solution.
Regards
Oliver
Similar Messages
-
Reading Data from a Table With an Expert
Hi all - I'm trying to write an Expert in OWB that would read data from a table and create a new table based on that information. I have the table creation part down, but how can I read data from a table with an Expert? From what I've read, Experts only deal with metadata, and there is no mechanism in Experts to actually read data in the tables. Does OraTcl work in Experts? Has anyone ever came across this problem, and if so, how did you solve it? Thanks in advance for your time! - Don
Hi Don
Can also use Java and JDBC from within Tcl, see the routines in this file below, take modify or whatever;
http://blogs.oracle.com/warehousebuilder/ombora.tcl
source <dir>\ombora.tcl
set g_user scott
set g_upwd zzzzzz
set g_hostname localhost
set g_port 1521
set g_srvname ora111
oraconnect $g_user $g_upwd $g_hostname:$g_port:$g_srvname
oraselect "select * from emp" ""
As well as dumping the results to stdout (you probably want to comment that part out and change any other part you don't like), g_res is a ResultSet object you can use to do whatever.
Cheers
David -
Any standard function module to read data from a cube
Hi,
I want to read data from a cube say XYZ, into an internal table. Is there any standard function module to do this? If so can anyone plz tell me what change should i make in the function module for my requirement.
Regards
BW Fresher.Hi R,
Try function module 'RSDRI_INFOPROV_READ'
ABAP Report RSDRI_INFOPROV_READ_DEMO contains an example of how the function module can be used.
Udo -
How to extract data from virtual cube..?
Gurus,
How can i read data from an virtual infocube thru an ABAP code..Is there any FM that i can use..
Kindly Help me in this...
Really URGENT..
Thanks
SamSubray,
Thanks for the reply..I have created a wrapper for this FM in the same way te DEMO program shows but still doesn't wrk.
No data is returned in the Table.
I also tried using the FM RSDRI_INFOPROV_READ_RFC and it does some processing but does nt return the results..
I am attaching my code...Can u please help me with that...
TYPES:
BEGIN OF gt_s_data,
cs_version(3) TYPE c,
cs_chart(2) TYPE c,
bcs_llob(4) TYPE c,
bcs_lcus(3) TYPE c,
bcs_ldch(2) TYPE c,
bcs_lprg(5) TYPE c,
curkey_lc TYPE /BI0/OICURKEY_LC,
curkey_tc TYPE /BI0/OICURKEY_TC,
bcs_lmay TYPE /BIC/OIBCS_LMAY,
figlxref3 TYPE /BIC/OIFIGLXREF3,
unit TYPE /BI0/OIUNIT,
CS_TRN_LC TYPE /BI0/OICURKEY_GC,
CS_TRN_TC TYPE /BI0/OICURKEY_GC,
CS_TRN_QTY TYPE /BI0/OIUNIT,
END OF gt_s_data.
DATA:
l_msg_text TYPE string,
g_s_sfc TYPE rsdri_s_sfc,
g_th_sfc TYPE rsdri_th_sfc,
g_s_sfk TYPE rsdri_s_sfk,
g_th_sfk TYPE rsdri_th_sfk,
g_s_range TYPE rsdri_s_range,
g_t_range TYPE rsdri_t_range.
DATA:
g_s_data TYPE gt_s_data,
g_t_data TYPE STANDARD TABLE OF gt_s_data,
g_t_rfcdata TYPE rsdri_t_rfcdata,
g_t_sfc TYPE rsdri_t_sfc,
g_t_sfk TYPE rsdri_t_sfk,
g_t_field TYPE rsdp0_t_field.
DATA:
g_first_call TYPE rs_bool.
g_first_call = rs_c_true.
CLEAR g_s_sfc.
g_s_sfc-chanm = '0CS_VERSION'.
g_s_sfc-chaalias = 'cs_version'.
g_s_sfc-orderby = 0.
INSERT g_s_sfc INTO TABLE g_th_sfc.
CLEAR g_s_sfc.
g_s_sfc-chanm = '0CS_CHART'.
g_s_sfc-chaalias = 'CS_CHART'.
g_s_sfc-orderby = 0.
INSERT g_s_sfc INTO TABLE g_th_sfc.
CLEAR g_s_sfc.
g_s_sfc-chanm = 'BCS_LLOB'.
g_s_sfc-chaalias = 'BCS_LLOB'.
g_s_sfc-orderby = 0.
INSERT g_s_sfc INTO TABLE g_th_sfc.
CLEAR g_s_sfc.
g_s_sfc-chanm = 'BCS_LCUS'.
g_s_sfc-chaalias = 'BCS_LCUS'.
g_s_sfc-orderby = 0.
INSERT g_s_sfc INTO TABLE g_th_sfc.
CLEAR g_s_sfc.
g_s_sfc-chanm = 'BCS_LDCH'.
g_s_sfc-chaalias = 'BCS_LDCH'.
g_s_sfc-orderby = 0.
INSERT g_s_sfc INTO TABLE g_th_sfc.
CLEAR g_s_sfc.
g_s_sfc-chanm = 'BCS_LPRG'.
g_s_sfc-chaalias = 'BCS_LPRG'.
g_s_sfc-orderby = 0.
INSERT g_s_sfc INTO TABLE g_th_sfc.
CLEAR g_s_sfc.
g_s_sfc-chanm = '0CURKEY_GC'.
g_s_sfc-chaalias = 'CURKEY_LC'.
g_s_sfc-orderby = 0.
INSERT g_s_sfc INTO TABLE g_th_sfc.
CLEAR g_s_sfc.
g_s_sfc-chanm = '0CURKEY_GC'.
g_s_sfc-chaalias = 'CURKEY_TC'.
g_s_sfc-orderby = 0.
INSERT g_s_sfc INTO TABLE g_th_sfc.
CLEAR g_s_sfc.
g_s_sfc-chanm = 'BCS_LMAY'.
g_s_sfc-chaalias = 'BCS_LMAY'.
g_s_sfc-orderby = 0.
INSERT g_s_sfc INTO TABLE g_th_sfc.
CLEAR g_s_sfc.
g_s_sfc-chanm = 'FIGLXREF3'.
g_s_sfc-chaalias = 'FIGLXREF3'.
g_s_sfc-orderby = 0.
INSERT g_s_sfc INTO TABLE g_th_sfc.
CLEAR g_s_sfc.
g_s_sfc-chanm = '0UNIT'.
g_s_sfc-chaalias = 'UNIT'.
g_s_sfc-orderby = 0.
INSERT g_s_sfc INTO TABLE g_th_sfc.
***Fill up the key figures data.
CLEAR g_s_sfk.
g_s_sfk-kyfnm = '0CS_TRN_GC'.
g_s_sfk-kyfalias = 'CS_TRN_LC'.
g_s_sfk-aggr = 'SUM'.
INSERT g_s_sfk INTO TABLE g_th_sfk.
CLEAR g_s_sfk.
g_s_sfk-kyfnm = '0CS_TRN_GC'.
g_s_sfk-kyfalias = 'CS_TRN_TC'.
g_s_sfk-aggr = 'SUM'.
INSERT g_s_sfk INTO TABLE g_th_sfk.
CLEAR g_s_sfk.
g_s_sfk-kyfnm = '0CS_TRN_QTY'.
g_s_sfk-kyfalias = 'CS_TRN_QTY'.
g_s_sfk-aggr = 'SUM'.
INSERT g_s_sfk INTO TABLE g_th_sfk.
Fill up selection criteria.
CLEAR g_s_range.
g_s_range-chanm = '0CS_VERSION'.
g_s_range-sign = rs_c_range_sign-including.
g_s_range-compop = rs_c_range_opt-equal.
g_s_range-low = '100'.
APPEND g_s_range TO g_t_range.
CLEAR g_s_range.
g_s_range-chanm = 'BCS_VERS'.
g_s_range-sign = rs_c_range_sign-including.
g_s_range-compop = rs_c_range_opt-equal.
g_s_range-low = 'ACT'.
APPEND g_s_range TO g_t_range.
CLEAR g_s_range.
g_s_range-chanm = '0CS_CHART'.
g_s_range-sign = rs_c_range_sign-including.
g_s_range-compop = rs_c_range_opt-equal.
g_s_range-low = 'ZG'.
APPEND g_s_range TO g_t_range.
CLEAR g_s_range.
g_s_range-chanm = '0CO_AREA'.
g_s_range-sign = rs_c_range_sign-including.
g_s_range-compop = rs_c_range_opt-equal.
g_s_range-low = 'AZ01'.
APPEND g_s_range TO g_t_range.
CLEAR g_s_range.
g_s_range-chanm = '0FISCVARNT'.
g_s_range-sign = rs_c_range_sign-including.
g_s_range-compop = rs_c_range_opt-equal.
g_s_range-low = 'K2'.
APPEND g_s_range TO g_t_range.
CLEAR g_s_range.
g_s_range-chanm = '0FISCYEAR'.
g_s_range-sign = rs_c_range_sign-including.
g_s_range-compop = rs_c_range_opt-equal.
g_s_range-low = '2007'.
APPEND g_s_range TO g_t_range.
CLEAR g_s_range.
g_s_range-chanm = '0FISCPER3'.
g_s_range-sign = rs_c_range_sign-including.
g_s_range-compop = rs_c_range_opt-equal.
g_s_range-low = '003'.
APPEND g_s_range TO g_t_range.
CLEAR g_s_range.
g_s_range-chanm = '0SEM_CGCOMP'.
g_s_range-sign = rs_c_range_sign-including.
g_s_range-compop = rs_c_range_opt-equal.
g_s_range-low = 'US0075'.
APPEND g_s_range TO g_t_range.
g_t_sfc = g_th_sfc.
g_t_sfk = g_th_sfk.
CALL FUNCTION 'RSDRI_INFOPROV_READ_RFC'
EXPORTING
I_INFOPROV = 'BCS_C1V11'
I_REFERENCE_DATE = SY-DATUM
I_SAVE_IN_TABLE = ' '
I_TABLENAME =
I_SAVE_IN_FILE = ' '
I_FILENAME =
I_AUTHORITY_CHECK = RSDRC_C_AUTHCHK-READ
I_CURRENCY_CONVERSION = 'X'
I_S_RFCMODE =
I_MAXROWS = 0
I_USE_DB_AGGREGATION = RS_C_TRUE
I_USE_AGGREGATES = RS_C_TRUE
I_ROLLUP_ONLY = RS_C_TRUE
I_READ_ODS_DELTA = RS_C_FALSE
I_RESULTTYPE = ' '
I_DEBUG = RS_C_FALSE
IMPORTING
E_END_OF_DATA =
E_AGGREGATE =
E_RFCDATA_UC =
E_SPLIT_OCCURRED =
TABLES
I_T_SFC = g_t_sfc
I_T_SFK = g_t_sfk
I_T_RANGE = g_t_range
I_T_TABLESEL =
I_T_RTIME =
I_T_REQUID =
E_T_RFCDATA = g_t_rfcdata
E_T_RFCDATAV =
E_T_FIELD = g_t_field
EXCEPTIONS
ILLEGAL_INPUT = 1
ILLEGAL_INPUT_SFC = 2
ILLEGAL_INPUT_SFK = 3
ILLEGAL_INPUT_RANGE = 4
ILLEGAL_INPUT_TABLESEL = 5
NO_AUTHORIZATION = 6
GENERATION_ERROR = 7
ILLEGAL_DOWNLOAD = 8
ILLEGAL_TABLENAME = 9
ILLEGAL_RESULTTYPE = 10
X_MESSAGE = 11
DATA_OVERFLOW = 12
OTHERS = 13
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL FUNCTION 'RSDRI_DATA_UNWRAP'
EXPORTING
i_t_rfcdata = g_t_rfcdata
CHANGING
c_t_data = g_t_data. -
Gurus..need help in reading data from virtual infocube
Gurus,
I have to read data from an virtual infocube...I am trying to use FM RSDRI_INFOPROV_READ to read data but it doesn't work..
I am doing exactly what has been done in the demo program RSDRi_INFOPROV_READ_DEMO...
Please help me...its really URGENT...
Thanks
samCheck out this thread....
must be helpful
Re: Read data from 0BWTC_C02 via ABAP -
Reading data from BSEG table with Non-key fields in where clause
Hi All,
I have to read data from BSEG table based on WBS element field (PROJK). As I'm not passing key fields to WHERE clause system couldnt run the select statement. Since BSEG is a cluster table I cant even create secondary index on PROJK field.
Could you please tell me, how to improve its performance.
Regards
Jaker.SELECT bukrs
belnr
gjahr
shkzg
dmbtr
hkont
lifnr
matnr
werks
menge
meins
ebeln
FROM bseg
INTO TABLE it_bseg
PACKAGE SIZE 10
FOR ALL ENTRIES IN it_final
WHERE bukrs EQ it_final-bukrs
AND belnr EQ it_final-belnr
AND gjahr EQ it_final-gjahr
AND buzei EQ it_final-buzei
AND hkont EQ it_final-hkont
AND werks IN s_werks.
By using package and fetch from BSEG table. gathering all other information to a final internal table.This will reduce the hit to database.And also try to put that data in hashed internal table which is it_bseg....then definetly improve the performance.
<REMOVED BY MODERATOR>
Dara.
Edited by: Alvaro Tejada Galindo on Apr 21, 2008 12:47 PM -
Reading data from another cube
Hi All,
I have a cube, lets say with 6 fields. I am getting the data for the 1st 3 fields directly from R/3. I have the data for the remaining fields in some other cube. Now, I have to get the data for the remaining 3 fields from 2nd cube based on the 1st 3 fields.
I know that this is possible but I am not sure how to do this. Can someone let me know the steps to do this.
Best Regards,
James.James
u can follow the method suggested by dinesh with the help of ABAPer.
There is also few another way. Let me tell you how.
First way :
declare source cube as a export datasource.
create update rule for target cube from source cube and update only required fields.
cons: this method will unnecessarily consume more database.
remedy: u can use multiprovider for reporting which will pull data from all possible required cubes.
Second way:
u can use one infosource to fed several cubes at the same time. With this u can update only required fields into another/target cube.
This procedure will increase loading time as infosource is feeding to several data targets. -
R/3 Dialog program - read data from BW table (2 different servers)
I have this R/3 dialog program that need to pull data from one of the BW table for data validation Apparently, R/3 and BW are setting on 2 different servers.
Is this something possible? or is that any other approach that can give me the same result?
Please give your exper advice. TQ.Hi
No but it's very easy.
The RFC fm is a normal function where the attribute Remote-enable module is setted.
When a program call a RFC function module, this has to exist in the called system (so it's not necessary there's in calling system too).
The data has to be transfered by inteface, so your fm has to have importing/exporting parameter in order to select the data you need to check.
A rfc has to be called in this way:
CALL FUNCTION <FUNCTION> DESTINATION <DEST>
EXPORTING
IMPORTING
tables
EXCEPTIONS
<DEST> is BW destination, you can find it by trx SM59
Try to see the standard fm RFC_READ_TABLE, it's a RFC function module to read a table.
Max -
How can I restore my data from a backup with different Phone name?
I recently had to restore my iphone which erased all the data. I have a backup of that data in iTunes and I want to restore it to the phone. However when I connected the phone to iTunes the first time after resetting everything, I accidently chose to create a new phone instead of restore settings and data from the backup.
My question is, how can I restore the iPhone from this previous backup? My iPhone is currently called "untitled playlist" and the backup is called "JC's iPhone".
Thanks,
Jeremy
ps. Sorry for posting twice. Nobody responded the first time, probably because I had a poor subject.Jeremy,
If you restore again, you will be prompted to choose a backup or setup as a new phone again. Then you can just choose your old backup.
Hope this helps,
Jennifer B. -
Read data from transactional cube in version SEM 6.40
Hi,
In an exit function of the transaction BPS0, I want to read transaction datas in a transactional cube. In version BW 2.1C - SEM 3.0A, I used the function RSDPL_CUBE_DATA_READ. Now the system is in version BW 3.5 - SEM 6.40 and the function just read datas which are in request's status 'OK' (watch transaction RSA1, 'manage' on the cube). If the request as status 'indifferent; not yet finished', the function don't read its data.
How can't I read all the transaction datas in a transactional cube.Dear All,
Restamtent functionality did not help at this issue.
What we did a Copy of the Version and attached the "old" hierachy.
This was the only solution.
Regards
Oliver -
Selecting data from single table with different condition in single query
Hi everybody...
I have one table with col1, col2, col3, col4, col5... as columns.
I want to select col1, col2, col3 with condition (x=y and a=b and c=d)
I want to select col4, col5 with condition (x=y and a=b and m=n )
in single query...
Thanx for ur helpGiven this data set...
SQL> select * from oddity
2 /
COL1 COL2 COL3 COL4 COL5 A X C M
1 2 3 4 5 B Y M
1 2 3 4 5 A Y C N
1 2 3 4 5 A Y D M
1 2 3 4 5 A Y D N
1 2 3 4 5 B Y D N
1 2 3 4 5 B Y D U
6 rows selected.
SQL>The following query meets the requirements. Of course, the requirements as stated are incomplete. I ahave assumed that we select all five columns if C=D andM=N.
SQL> SELECT decode(c, 'D', col1, '0') AS col1
2 , decode(c, 'D', col2, '0') AS col2
3 , decode(c, 'D', col3, '0') AS col3
4 , decode(m, 'N', col4, '-8') AS col4
5 , decode(m, 'N', col5, '-8') AS col5
6 FROM oddity
7 WHERE a = 'B'
8 AND x = 'Y'
9 /
COL1 COL2 COL3 COL4 COL5
0 0 0 -8 -8
1 2 3 4 5
1 2 3 -8 -8
SQL> Cheers, APC -
Reading aggregated data from a cube/multiprovider
Hi BI people
My project is currently looking for a functionmodule that reads aggregated data from a cube/multiprovider.
I already have a functionmodule that reads data from a cube and returns it in a flat format. I have debugged this, but have not found any flags that can enable the OLAP functionality needed to perform the aggregation. The functionmodule is "RSDRI_INFOPROV_READ_RFC".
The situation is that I need to apply the aggregation logic of a profit center hierrarchy to the data I read from RSDRI_INFOPROV_READ_RFC, this means manually replicating the the OLAP engine functionality (keyfigure aggregation exception, ect.) and this is not an option with the available time/budget.
Please have a look at the example below:
Say that I have a profit center hierarchy as displayed below (with postable nodes).
PC1 - $10
|---- PC2 - $30
|---- PC3 - $20
The data I'm getting back from the functionmodule RSDRI_INFOPROV_READ_RFC looks like this:
PC1 $10
PC2 $30
PC3 $20
But I need the data aggregated. An aggregation utilizing the hierarchy above will make the data look like this:
PC1 $60
PC2 $30
PC3 $20
Instead of building an aggregation program, it would be usefull if it was possible to extract aggregated data.
Any comments appreciated.
Regards
MartinThx Olivier,
The problem is that I need a functionmodule that can apply the OLAP aggregation for a hierarchy to the data outpu from RSDRI_INFOPROV_READ_RFC.
... or the best alternative would be if there were a fm/class that could provide me with the hierarchy aggregation of the data.
/Martin -
Can not find data in virtual cube
Experts,
I can not find data in virtual cube with services function module (copying Z_RS_BCT_FIGL_DATA_GET_VC10 from RS_BCT_FIGL_DATA_GET_VC10).The standard cube is maintained with data.
Can anybody tell me what could be the reasons the data is coming through Virtua cube.
Thanks,
AKHi,
i_basic_infoprov is the name of the provider where the data is selected from. This must be a basic provider that contains data. What I meant was, create a copy of fm RS_BCT_FIGL_DATA_GET_VC,1 maybe as Z_BCT_FIGL_DATA_GET_VC1, and enter the name of this fm in the properties of your virtual cube. For that fm it might also be a good idea to enter a default value for i_infoprov. And this should be the name of your virtual cube.
regards
Siggi -
How do I read data from a DMM or DC Power Supply at a specified rate?
I have a PXI system with 4071 DMMs and 4110 DC Power Supplies. I want to be able to measure the power consumption of my DUT as it performs various operations. This is what my process flow looks like:
1. Configure DMM and Power Supply
2. Wait for DUT to go into a certain mode
3. Start Acquiring data from DMM and PS.
4. Wait for DUT to get out of this mode
5. Stop Acquiring data from DMM and PS.
Since the duration of step #4 is uncertain, I cannot tell the units to collect a predetermined number of samples and give it back to me. Instead I have to take readings as long as it's required.
I'm attaching screenshots of my setup and read process. The reading is done inside a timed loop which is running at 1kHz.
The problem is that using niDMM Read Multi-Point or niDCPower Measure Multiple takes 5-9ms before I get a reading, so I'm not really getting 1ms resolution in my data. I'm sure there are other folks who have had the need to read data from these devices with better time-resolution, so if anyone can point me in the correct direction, it would be great. I'm pretty sure I'm not doing the correct thing here.
Attachments:
1-Setup.PNG 12 KB
2-Read.PNG 9 KBWhat is really confusing to me is why you are even using the multi-point function when you set the sample count to 1. If you want multiple points, request multiple samples and let the DMM acquire them at a rate you specify. If you want a single sample, use the normal Read. You also need to pay attention to how fast the DMM can acquire. If you want the fastest sample rates, you might be a lot better off with a DAQ board.
-
Unable to read data from Analog Devices 6b11 module - error code 1240
Hi everyone,
I'm trying to read data from a thermocouple with an AD 6B11 module in an AD 6BP16-1 backplane using RS232 serial. I've been following this guide:
http://digital.ni.com/public.nsf/allkb/8C77E5E52B4A27968625611600559421
Everything seems to work out well until step 13, where I call the "AD6B Input Module - Read Data.VI". I get an error code 1240 stating something like "invalid parameter or unable to read instrument".
Has anyone got any experience with this error or suggestions to fixing it?
Thanks in advance!That user guide is 20+ years old. The serial functions from that day used 0 for com 1, 1 for com 2, etc. Make sure you have the correct one selected. Please provide the exact error message instead of 'something like'.
Maybe you are looking for
-
Getting the table names in an MS Access database
Hi, I am new to JDBC and making a client/server application that updates a MS Access database through jdbc:odbc. I need to get a list of existing user tables in the db. I have found a great document on the net which has the code, however the code doe
-
Problems with ImportPrivateKey utility
Hi, I generated keys and certificate using CertGen .Then I concatenated the generated key to CertGenCA.pem. ( as described in teh documentation for ImportPrivateKey utility). However when I try to act
-
Dangerous iPhone headphone volume bug
I've discovered a potentially dangerous bug with the volume in IOS7.1 on my iPhone 5S If I engage the volume limit (or the EU limit), this causes the volume to jump to max whenever I play a new track or skip a track in Music. This leads to very drama
-
I have bought an used Iphone from a shop. then i put my account id in it. then it goes perfectly. After awhile i have done a reset all data and sitting then i could not get the Iphone started because it have been asked to put another email starting w
-
Can I start up my new imac (Snow Leopard) from a Tiger installation disc?
Last week I upgraded to an entirely new machine. My old imac was running on Tiger and the logic board failed. Though I had an external, I had my local Apple store transfer my hard drive data to my new mac. Since then, I've run Disc Utility a few time