Load data from one Application to another in BPC NW 7.5
Hi
I have a requirement to load data from One application to another application.
eg. HR Plannning to CostCenter Planning.
I am aware of a method to load data using transformation file mapping source and target dimensions and run DM package and this works fine.
However, the challenge is if i try to automate this process then i will have to hardcode the application tech name and save as variant to use that in process chain. Now, if i hardcode the tech name of the application then it might happen that during full optimization the tech name might change and the automation load will fail.
so how to handle this situation? any standard practices available?
appreciate your inputs/thoughts.
Regards.
Hi,
Exactly. The main problem is that there is no statement to transfer the data. Please take a look at the below link from help.sap:
http://help.sap.com/saphelp_bpc75_nw/helpdata/en/f4/33f0bbc46c4a53860f1410f20ffb8b/content.htm
Since the structure of both the applications is same, you dont require add_dim or rename_dim, etc. However, you definitely need the when statement.
If you want to transfer all the records, then you can have something like
*WHEN ACCOUNT
*IS *
*REC(EXPRESSION = %VALUE%)
*ENDWHEN
Hope this helps.
Similar Messages
-
Move data from one Application to another Application.
Hi All,
I have a requirement to move data from one Application to another Application(we are working on SAP BPC 5.1/7.1 MS version).
Can anybody please mention all the possible ways to achieve it.
Thanks in advance.
Regards
VaniHi,
The best way to do this would be to use destination_app statement. Please refer to the below link from help.sap:
http://help.sap.com/saphelp_bpc75/helpdata/en/79/b299446e02478fa5eca684d1297ef3/content.htm
Alternatively, you can definitely export the data from one application and import it to the second.
Hope this helps. -
What are the diffrent ways to copy data from one application to another?
Hi,
Can you guys tell me what are the different ways to copy data from one application to another application??
I know we can do it through script logic using DESTINATION_APP.
Is there any other way to copy data from one application to another application?
Please help me
Thanks,
CharlyYou can also call a custom DTSX package in SSIS via the datamanager.
there are at least 5 ways of transfering data in BPC between apps.
1. Through the front end (excel etc) via evdre/evsnds
2. Through Script logic using *Dest App
3. Using BPC's standard export dtsx package via DM
4. Using SSIS using BPC's custom SSIS tasks
5. Through Script logic using stored procs.
i am sure people will come up with more.
remember if you use ssis and move data into any table but the wb, you need to process the cube afterwards. -
How load data from One Infoobject to Another Infoobject?
Hi GuRUS
Any body has succeded in loading data from One Infoobject to Another Infoobject?
Pls Let me kNow
Regards
DuraiHi Durai,
Create export datasource on the info-object and then load the data to the other info-object.
Check this link also:
Re: How load data from Infoobject to another Infoobject?
Bye
Dinesh -
Loading Data from one Cube into another Cube
Hi Guys,
I am trying to load data from one cube A to another cube B. Cube A has data around 200,000 records. I generate export datasource on Cube A. Replicated the datasource and created InfoSource and activated it.
I created update rules for Cube B selecting Source as Cube A. I do have a start routine to duplicate records in Cube A. Now when I schedule load,
It stops at Processing Datapacket and says no data. Is there something wrong with the update routine or is there any other way to load form cube to cube in a simpler way?
Thanks in advanceThis is the start routine to duplicate records in two currencies.
DATA: datew TYPE /bi0/oidateto,
datew2 TYPE rsgeneral-chavl,
fweek TYPE rsgeneral-chavl,
prodhier TYPE /bi0/oiprod_hier,
market TYPE /bic/oima_seg,
segment TYPE /bic/oizsegment.
DATA: BEGIN OF S_DATA_PACK OCCURS 0.
INCLUDE STRUCTURE /BIC/CS8ZSDREV.
DATA: END OF S_DATA_PACK.
S_DATA_PACK[] = DATA_PACKAGE[].
REFRESH DATA_PACKAGE.
LOOP AT S_DATA_PACK.
move-corresponding s_data_pack to DATA_PACKAGE.
if DATA_PACKAGE-loc_currcy = 'EUR'.
DATA_PACKAGE-netval_inv = DATA_PACKAGE-/bic/zsdvalgrc.
DATA_PACKAGE-CURRENCY = 'USD'.
APPEND DATA_PACKAGE.
DATA_PACKAGE-netval_inv = DATA_PACKAGE-/bic/zsdvalloc.
DATA_PACKAGE-CURRENCY = 'EUR'.
APPEND DATA_PACKAGE.
else.
DATA_PACKAGE-netval_inv = DATA_PACKAGE-/bic/zsdvalgrc.
DATA_PACKAGE-CURRENCY = 'USD'.
APPEND DATA_PACKAGE.
endif.
ENDLOOP.
This is to load Quantity field
RESULT = COMM_STRUCTURE-BILL_QTY.
This is to load Value field
RESULT = COMM_STRUCTURE-NETVAL_INV.
UNIT = COMM_STRUCTURE-currency. -
Loading data from one table to another using cursor
Hi,
I have given the below command to load the data from 1 table to another using cursor.
declare
cursor mycursor IS
SELECT extract_name,from_date,to_date,BETA from temp_table where EXTRACT_NAME='GIFTCARD_DETAILS';
Begin
for mycursor_1 IN mycursor loop
insert into tmp_tab columns(col1,col2,col3,col5) values(mycursor_1.EXTRACT_NAME,mycursor_1.from_date,mycursor_1.to_date,mycursor_1.BETA);
End loop;
commit;
end;
It is working fine.
But I want to hard code some of the columns ( like flags ) which are not there in 1st table and load them into 2nd table.
In db2 we will give commands like
varSqlStatus=`db2 "declare mycurs cursor for select extract_name,from_date,to_date,BETA,'N','Y' from temp_table"`
varSqlStatus=`db2 "load from mycurs of cursor modified by identityignore insert into tmp_tab(col1,col2,col3,col5,col6,col7) nonrecoverable"`
But I want it in oracle 10g, Can any one help me in this.Have you tried either of the two options :
1. Modify the CURSOR itself :
cursor mycursor IS
SELECT extract_name,from_date,to_date,BETA,'N','Y' from temp_table where EXTRACT_NAME='GIFTCARD_DETAILS';2. Modify the INSERT statement itself :
insert into tmp_tab columns(col1,col2,col3,col5,col6,col7) values(mycursor_1.EXTRACT_NAME,mycursor_1.from_date,mycursor_1.to_date,mycursor_1.BETA,'N','Y'); -
Data load failed while loading data from one DSO to another DSO..
Hi,
On SID generation data load failed while loading data from Source DSO to Target DSO.
Following are the error which is occuuring--
Value "External Ref # 2421-0625511EXP " (HEX 450078007400650072006E0061006C0020005200650066
Error when assigning SID: Action VAL_SID_CONVERT, InfoObject 0BBP
So, i'm not getting WHY in one DSO i.e Source it got successful but in another DSO i.e. Target its got failed??
While analyzing all i check that SIDs Generation upon Activation is ckecked in source DSO but not in Target DSO..so it is reason its got failed??
Please explain..
Thanks,
SnehaHi,
I hope your data flow has been designed in such a way where the 1st DSO as a staging Device and all transformation rules and routine are maintained in between 1st to 2nd dso and sid generation upon activation maintained in 2nd DSO. By doing so you will be getting your data 1st DSO same as your source system data since you are not doing any transformation rules and routine etc.. which helps to avoid data load failure.
Please analyze the following
Have you loaded masterdata before transaction data ... if no please do it first
go to the property of first dso and check whether there maintained sid generation up on activation (it may not be maintained I guess)
Goto the property of 2nd Dso and check whether there maintained sid generation up on activation (It may be maintained I hope)
this may be the reason.
Also check whether there is any special char involvement in your transaction data (even lower case letter)
Regards
BVR -
How to load data from one Infocube to another request by request using DTP
Hi All,
I have a scenario where we are maintaining backup Infocube B for Infocube A. User loads data from a flat file many times a day in different requests. We need to maintain backup of the Infocube A on weekly basis. i.e data to be refreshed with delta update from cube A to cube B. There are some situations where user deletes some of the requests in Infocube A randomly after use. Will this change effect in back up cube B when performed data refresh from cube A to cube B. i.e. this functionality is similar to reconstruct in BW 3.5. Now we are running on BI 7.0 SP 9.
Can anyone answer this ASAP.
Many Thanks,
RaviYou cannot load request by request, " Get Data By Request " DTP loads request by request on " First In First Out " basis. You can run some Pseudo/Fake DTP's if you dont want to load data from a particular request.
If the user deletes a request from Cube A, it wont be loaded to Cube B but if it is already loaded in Cube B and later the user deletes the request from Cube A you have to delete the request frm Cube B. Inorder to monitor request by request run DTP with " Get Data By Request set. -
Problem in loading data from one DSO to another
Hi All,
I am using Multicube 0PM_MP03, this mutli cube use DSO 0PM_DS02 & 0PM_DS01, data will flow from PSA to 0PM_DS01 & then to 0PM_DS02 using a Update rule, i have triggered my infopackage & i can see data in 0PM_DS01 & i have activated the data in 0PM_DS01, now on right click on 0PM_DS01 i click on the option Additional Functions -> Update 3.x Data to Target, now the request status is green in 0PM_DS02 but i cannot see any data in this DSO, neither in new or active, can anyone help me out in this where i am doing wrong.
Thanks,
Pritam.Hi Pritam,
This is strange, Check the below points.
1. If the number of records added 0, in manage of DSO2?
2. Confirm if there is a transfprmation between ODS1 & ODS2. If there is, you need to use a DTP (not Additional Functions -> Update 3.x Data to Target).
3. Activate the request and then check.
4. Maintain PSA for the datasource 80PM_DS01 and when loading data from DSO1 to DSO2 choose option PSA and then into targets.
Regards,
Panksj. -
Loading data from one table to another table
I need to load the data (data conversion) from one table to 3 different table.
I have to load the data from Source table to following 3 target tables.
So Consumer table has email pk and it has relationship with CONSUMER_RCV table and CONSUMER_RCV
table has relationship with CONSUMER_ATTR table. I am doing right now with pl/sql but I am looking
to use MULTI INSERT or SQL*LOADER or another efficient way.
I tried with MultiInsert but it getting failed as it's violating Unique Constraints as source table might contains
Duplicate emails.
Could you please show me how I can load the data efficiently?
Also I need to load in CONSUMER_ATTR table from CONTACT table which has ATTR1, ATTR2 columns.
so My mapping will be ...
Contact.email, first_name, last_name will go into Consumer table
then in CONSUMER_RCV, I generate the id column value by sequence, load email and DATE_CREATEd from contact table
And rest of the value is hard coded
Then in CONSUMER_ATTR table I will generate the CONSUMER_ATTR_id through sequence, for ID, will use the same
id column value which I have generated by sequence in CONSUMER_RCV, then put the attr_type = 'ATTR1' and for
attr_value column I will insert the value from contact table's ATTR1 value,
Then generate another CONSUMER_ATTR_ID, will use the same id column value which I have generated by sequence
in CONSUMER_RCV, then put the attr_type = 'ATTR2' and for
attr_value column I will insert the value from contact table's ATTR2 value,
Please let me know if you need further explanation.
I am using Oracle 9i R2.
Please consider CONTACT is Source table, CONSUMER is a Target1, CONSUMER_RCV is a Target2 and CONSUMER_ATTR is a Target3
to simplify the problem.
Following is the Table structure
=========================
CREATE TABLE CONTACT (
ID VARCHAR2 (40) NOT NULL, -- will go into Target1
EMAIL VARCHAR2 (100) , -- might be duplicate and will go into Target1 and Target2
FIRST_NAME VARCHAR2 (100) NOT NULL, -- will go into Target1
LAST_NAME VARCHAR2 (100) NOT NULL, -- will go into Target1
COUNTRY VARCHAR2 (40) NOT NULL, -- will go into Target1
PHONE VARCHAR2 (100), -- will go into Target1
NOTIFY VARCHAR2 (3), -- will go into Target2 table's RECEIVE_EMAIL column
CREATE_DATE DATE , -- will go into Target1 and target2
ATTR1 VARCHAR2 (400), -- will go into Target3 as attr_type= ATTR1 and will load actual value in ATTR_VALUE
ATTR2 VARCHAR2(100), -- will go into Target3 as attr_type= ATTR2 and will load actual value in ATTR_VALUE
ATTR2 VARCHAR2(100), -- will go into Target3 as attr_type= ATTR1 and will load actual value in ATTR_VALUE
CONSTRAINT CONTACT_PK
PRIMARY KEY ( USER_ID ) ) ;
CREATE TABLE CONSUMER(
EMAIL VARCHAR2 (100) NOT NULL, -- PK
TITLE VARCHAR2 (40),
FIRST_NAME VARCHAR2 (40),
LAST_NAME VARCHAR2 (40),
ADDRESS1 VARCHAR2 (40),
ADDRESS2 VARCHAR2 (40),
CITY VARCHAR2 (30),
STATE VARCHAR2 (30),
ZIP VARCHAR2 (10),
COUNTRY VARCHAR2 (40),
PHONE VARCHAR2 (15),
DATE_CREATED DATE NOT NULL,
CONSTRAINT CONSUMER_PK
PRIMARY KEY ( EMAIL ) ) ;
CREATE TABLE CONSUMER_RCV (
ID VARCHAR2 (40) NOT NULL,-- PK
EMAIL VARCHAR2 (100) NOT NULL,-- FK reference to Consumer
SITE VARCHAR2 (100) NOT NULL, -- default website
RECEIVE_EMAIL VARCHAR2 (1),
CREATE_DATE DATE NOT NULL,
CONSTRAINT CONSUMER_RCV_PK
PRIMARY KEY (ID) ) ;
ALTER TABLE CONSUMER_RCV ADD CONSTRAINT CONSUMER_RCV_FK
FOREIGN KEY (EMAIL)
REFERENCES CONSUMER (EMAIL) ;
CREATE TABLE CONSUMER_ATTR (
CONSUMER_ATTR_ID VARCHAR2 (40) NOT NULL, -- PK
ID VARCHAR2 (40) NOT NULL, -- FK reference to COnsumer_RCV
ATTR_TYPE VARCHAR2 (100) NOT NULL,
ATTR_VALUE VARCHAR2 (4000) NOT NULL,
CONSTRAINT CONSUMER_ATTR_PK
PRIMARY KEY ( CONSUMER_ATTR_ID ) ) ;
ALTER TABLE CONSUMER_ATTR ADD CONSTRAINT CONSUMER_ATTR_FK
FOREIGN KEY (CONSUMER_ATTR_ID)
REFERENCES CONSUMER_RCV (ID) ;HI Hema,
How are the entries related.. is it like for one entry in y table there are more than one entry in x table then you have to use loop with in loop , here are the both the conditions.
1) For each entry in Y there are more than one entries in X
sort y by quota trpid.
sort x by quota trpid.
loop at y.
loop at x where quota eq y-quota
and trpid eq y-trpid.
z-value = x-value.
append z.
endloop.
endloop.
2) For each y there is one entry in x table.
sort y by quota trpid.
sort x by quota trpid.
loop at y.
read table x with key quota = y-quota
trpid = y-trpid binary search.
if sy-subrc eq 0.
z-value = x-value.
append z.
Endif.
endloop.
Mahesh -
Loading data from one cube to another cube.
Hi,
Trying to copy the data from cube A to cube B...however after creating export data source(8A) on cube A, unable to find the infosource 8A.
Do someone have any idea..... or I'm missing some steps?
Help is highly appreciable.
Regards,
JimHi Amit,
goto transaction sbiw in your BW system. Open 'Business Content DataSources' and select 'activate application component hierarchy'. After that you can additionally choose 'activate business content datasources'. Then goto rsa1->source systems. Right click on your source system (BW itself) and replicate the datasources. After that you should be able to see the application component DM in rsa1->infoSources. In application DM you should see all 8... infoSources and dataSources. If not, you should choose 'Settings->Display generated objects' from the top menu as already suggested.
regards
Siggi -
How to load data from one Infobject into another in the same system??
Hello All,
i need to load hierarchy data (already existing in 1 Infobject) into another newly created Infobject in the same BW system.Is there a way to do it without involving flat files??
Thanks soo much in advance
Regards,
Priyahi
say there are two infoobjects X and Y.
X is existing infoobject and Y in new one.
go to infosurce-search for X-create export datasource - map the rules and load the data.
This is one way.
Other way is u can use X as a reference object of Y so that both of them have same structure and both objects will share common database tables in BW which are exsting for X.
Hope this helps.
Kindly assign the points if it helps. -
Load data from one table to another
Hi all,
Please help me for my below requirement.
Oracle version : Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
Rules
1) First two city's should be loaded in city_1 and city_2.
2) If there are more two cities, only first two should be loaded.
3) If only one city_1 has value, it should be loaded in city_1.
drop table seven_cities;
create table seven_cities
(id number,
city_1 varchar2(100),
city_2 varchar2(100),
city_3 varchar2(100),
city_4 varchar2(100),
city_5 varchar2(100),
city_6 varchar2(100),
city_7 varchar2(100)
insert into seven_cities(id,city_1,city_2,city_3,city_4,city_5,city_6,city_7)
values (1,'New York',null,null,null,'Chicago',null,null);
insert into seven_cities(id,city_1,city_2,city_3,city_4,city_5,city_6,city_7)
values (2,null,'Hyderabad','Delhi','Mumbai',null,null,null);
insert into seven_cities(id,city_1,city_2,city_3,city_4,city_5,city_6,city_7)
values (3,null,null,null,null,null,null,'London');
insert into seven_cities(id,city_1,city_2,city_3,city_4,city_5,city_6,city_7)
values (4,null,null,null,'Sydeny','Melbourne','Paris','Berlin');
commit;
select * from seven_cities;
drop table two_cities;
create table two_cities
(id number,
city_1 varchar2(100),
city_2 varchar2(100));
Expected data to be loaded
id city_1 city_2
1 New York Chicago
2 Hyderabad Delhi
3 London null
4 Sydney MelbourneThanks
Raghuselect id,
coalesce(city_1,city_2,city_3,city_4,city_5,city_6,city_7) city_1,
nvl2(
city_1,
coalesce(city_2,city_3,city_4,city_5,city_6,city_7),
nvl2(
city_2,
coalesce(city_3,city_4,city_5,city_6,city_7),
nvl2(
city_3,
coalesce(city_4,city_5,city_6,city_7),
nvl2(
city_4,
coalesce(city_5,city_6,city_7),
nvl2(
city_5,
coalesce(city_6,city_7),
nvl2(
city_6,
city_7,
null
) city_2
from seven_cities
ID CITY_1 CITY_2
1 New York Chicago
2 Hyderabad Delhi
3 London
4 Sydeny Melbourne
SQL> SY. -
Copy data from one application to another in the same application set
Hello everyone
i hope you are all fit and fine
i have a little question
i have my source application with accounts
and in my destination application, some accounts are like AppSource.Account1+AppSource.Account2 etc...
when i write the logic
i have to rename the dimensions both applications have in common
use the instruction *skip_dim for the dimensions which are in the source application but not in the destination one
and use instruction *add_dim for the dimensions available in the destination app and not in the source app
is that right?
and can i write *add_dim dimension_name=all or do i have to precise a base level member
and after that i wan simply use instructions like
when AppSource.Account
is Account 1, account 2
rec (appDestination.Account)
is my procedure correct please especially the syntax of *add_dim dimname=all?
thanks a lot folks
take careHi Clarie,
Your understanding is correct, except that you need to give precise baselevel member in *add_dim as you can not write data to parent member and regarding
AppSource.Account1+AppSource.Account2
This logic will work,
*destination_app = appDestination
//list add_dim,skip_dim,*rename_dim
//assuming name of account dimension in source app is account
*when account
*is account1,account2
rec(acct=account3)
//acct is name of account dimension in destination application
//where account3 is the member of destination application account dimension to which sum of account1 and account2 are to be written
Hope this helps,
Kranthi -
Less number of Records while loading data from one cube to another
Hi,
We are in the process of doing major changes in the existing InfoCube.
Before making any changes, we had planned to make a copy of the cube with data.
For this we did the following steps :
1. Created the new cube from the original cube.
2. Generated Datasource on the Orignal cube.
3. Made a update rule on the new cube by selecting the Orinal cube.
4. Made a InfoPack on Infosouce which got created with 8<original cube>.
5. Uploaded the data into the new cube.
We have uploaded the data successfully from the original cube to the new cube.
However, New cube shows less number of records as compared to the original cube.
But the query is showing the same figures from both the cubes.
Can anyone please advise what could be the reason for this less number of records and how the figures are showing same when we run the query from both the cubes.
Please help.
Thanks
Ramesh GanjiHi Ramesh,
this is possible coz when u have loaded yr original cube, it may be loaded on daily/weekly basis. so in the cube there are many requests. Also if in the same request, if there are two records with same dimension keys ther are automatically added aggregating them.
if req 1 has following records
cust mat amt
1 1 100
1 1 50
it will add
1 1 150
and if the records are seperated by different req, then both will b added individually.
therefore when u r loading yr new cube from original cube, all records that has same dimension key gets aggregated coz they are loaded into single request. so it showing less no of records as added.
hope this helps.
Regards,
Purvang
Assigning Point is to say Thanks in SDN *
Maybe you are looking for
-
When I download a program it always instals in German.
When I download a program it always instals in German. I can not do anything about it, the language used in the new program is always German. It is like there is some setting which tells the the installation file that the application needs to be Germ
-
No mapping during runtime!!
Hi all, I got stucked with one problem in file-xi-idoc scenario using sap xi 2.0. I am using sender file adapter which is picking up the file from ftp server. The file contains three fields and I am placing them in a text file as
-
Remote call to a procedure over DB Link - Datatype mismatch
Hi All, I've a procedure taking an array as input parameter. I invoked this procedure from other DB using a DB link but got DATATYPE mismatch error. I've given same name to the array type in both the DBs and used the same UID. Please help me out. Reg
-
Are the search enhancements in Web UI 100 % reliable?
Dear Gurus I have been thinking about this from long time. I have seen and followed several ways while enhancing Search components (Eg: BT111S_OPPT). I have a scenario. I am looking for the best possible solution so that it will be 100% reliable. My
-
Is it possible to display the Summary Report in a website? I created a form, my visitors fill it out but cannot see the result. Any suggestions?