Generic DataSource Question
Hi Friends,
We have generic extractor based on the function module.
It submits the report program and returns some value.
This function module has parameter called S_S_IF-Maxsize = I-Maxsize.
My counter is based on this,
Counter GE S_S_IF-Maxsize.
Now my question is what value of S_S_IF-Maxsize is determined by system and how?
When I am checking in RSA3 it is based on the selection screen parameters on RSA3(By default:100).
When I test in SE37-function module it takes 000000 by default, I may change here to test and debug. But I wanted to know that when called by BW how it takes value of S_S_IF-Maxsize.
If somebody knows the procedure on how to debug extractor when called by BW, please let me know.
Please suggest.
Thanks,
John.
Hi,
A simple way to check how BW calls the extractor and what values are passed is to use RSA3 itself in the source system.
Execute an infopackage in BW and note down the request number or you can use the request number of an existing one.
Go to RSA3 in the source system, enter your datasource details there. There will be a button next to the execute button at the top called "Import from BW". Click that and enter the request number and the BW system logical name and hit enter.
The parameters from the request will be imported. You can view them and then debug using this data.
Cheers
Neeraj
Similar Messages
-
'table does not exist' when creating generic datasource
I went to SBIW->Business Content DataSources->Transfer Business Content DataSources-chose "content delta". it said 'comparison bct <-> cust version ' then it counted thru several objects for a few minutes and finished with no warnings.
then I selected each datasource under co-om-cca and activated those with no problems.
problem: now when i try to create came generic datasource using co-om-cca application component i get mssg when saving 'the specified table does not exist'...so now it isn't even letting me create a datasource at all using a standard application component either.
I have been having many problems with creating datasources and using application components and this is why I did the first paragraph because I don't know what else to try.
Please help, thanks.I have answered my own question. I wasn't entering the view/table and it was my own complete oversight.
-
Regarding Generic DataSource loading transaction data
What I have done:
Create a Generic DataSource from a table, replicate it to BW.
Create a standard DataStore object, and create InfoPackage, and DTP.
Now I want to load data, What's the steps I need to do?
Start InfoPackage and execute DTP. But I can't see data in the DataStore. What's Wrong?
And Another Questions
I want to load data partially. I find Data Selection in InfoPackage, and enter values, and then what?
<removed by moderator>.
Thanks and Regards.
Edited by: Siegfried Szameitat on Aug 25, 2010 11:28 AMHi,
You did right, but please check whether data is available in the table for which you created generic data source.
If data is available in the table, then schedule the info package and check whether data came to PSA or not.
If data is available till PSA then execute DTP.
To load data partially:
We can do at 2 levels. a) at infopackage level and b) DTP level
a) To load data selectively give particular selections at PSA level, which will brings the data to BW as per our selection.
b) We can load all the data till PSA without any selections at infopackage level and give selections at DTP level which will load data to the particular DSO/CUBE as per selection.
Hope this helps you.
Thanks,
Sai Chand.S -
Generic DataSOurce on Function Module
Hi Everyone,
I know how to create a Generic Datasource based on a view. I amfirst time trying to create a Generic DS based on FM. I know the steps. Like we go to SE11..select database type..give the name..select structure..give the name..enter the fields name in component save it..then go to SE80..select function gp..etc...etc.
My question is This function module should get data from two tables. In which step we need to mention the table names?
Can anyone please explain?
RegardsHi,
If you would like to have a DS which'll extract using FM then you've to copy RSAX_BIW_GET_DATA_SIMPLE FM.
Now once you copy it then in that only you see the line:
open cursor with hold s_cursor for
select distinct pernr from pa0000
where pernr in l_r_pernr
and stat2 = '3'.
If you want to have more than one table then create cursors and use them accordingly.
Best Regards,
Rachit -
Hi
I have a question regarding generic datasource based on function module... Is it possible to have 2 differents function modules based on the same extract structure (Z1)?
I have one existing datasource (DS_A) based on a function module (FM_1) and extract structure (Z1)
Since I have to change the functionality on the existing function module (creating FM_2) for another datasource (DS_B), I am wondering if the 2 datasources (DS_A and DS_B) could be based on the same extract structure(Z1) created previously for datasource (DS_A)
Thanks!!hi,
this can be done however this will always create a dependency, like if you have to change Z1 due to one FM1 (like addition of new field) then you need to enhance the code for FM2 as well as e_t_data inFM2 will have the structure same as Z1.
its better to create a copy of the existing strucutre Z1 and use it in Fm2.
regards,
Arvind. -
Hi Guys,
I have a problem setting up a generic datasource. I added a field DATAS (date) as
a delta field. In some records this field
is empty, These record are not loaded in BW. What is the best way to handle this?
Regards,
RenatoHi,
This is in response to your main question. If you have any other date field that is getting updated (changed on/ created on) in the table from where your datasource is fetching the data, then you can go for alternate way.
You can have your datasource based on function module and then can use multiple fields for delta purpose. This should solve your problem, only if you have another date field which is getting populated.
/people/monika.birdi2/blog/2010/08/26/delta-using-multiple-fields -
Generic datasource based on custom table and hierarchy table
Hi Gurus,
I have a doubt regarding generic datasource.
my requirement: to create a datasource with 10 fields. (7 fields from custom table and 3 fields whose values can be derived from a hierarchy table).
I have a custom table. In this table one field refers to a hierarchy table. Using this hierarchy table, we can derive values to 3 new fields.
My question is, If i create a generic datasource based on the custom table, how can i include the extra 3 fields which gets values from the hierarchy table.
Where can i write the logic to extract the values for those 3 fields from the hierarchy table.
Thanks
Regards,
Aarthi
[email protected]Hi Aarthi,
Sample code in the user exit woul be like this:
DATA: i_biw_tab LIKE BIW_MARA_S.
WHEN '<data source>'.
LOOP AT i_t_data INTO i_biw_tab.
SELECT fields
INTO <table from which you want the value
FROM <table>
WHERE <your condition>.
IF sy-subrc = 0.
MODIFY i_t_data FROM i_biw_tab.
ENDIF.
ENDLOOP.
Bye
Dinesh -
How to set Generic Delta for Generic Datasource
Hi to all,
please can any one explain me the generic Delta option for Generic datasource
after creating generic datasource, i need to set the generic delta .
can any one explain me all generic delta option in simple language with example.
Field Nm
Time samp
calend. Day
Numeric Pointer
Safety Interval Upper Limit
Safety Interval Lower Limit
New status for changed Records
Additive Delta
i shall be thankful to you for this.
Regards
Pavneet Ranathis question has been answered a million times.
search the forum.
M. -
Generic DataSource & Delta setup
Hello Folks,
I am trying to get my Generic DataSources and Delta concepts straight and got more confused after reading a white paper titled "how to ...create generic delta". <b>I am on SAP R/3 4.6c and BW 3.0b.</b>
<b>This white paper talks about creating generic datasource and delta using RSO2 in BW</b>. It explains how to specify delta-specific field and then select a delta type (AIE or ADD) which sets the "delta update" flag after generating.
My question is
1)should we create a generic datasource and delta from BW as suggested by this white paper and not in SAP R/3 directly using RSO2 and RSA3? what are the pros and cons.
I tried creating a generic datasource in SAP R/3 using RSO2 since these transactions are available in SAP R/3. I noticed the "delta update" checkbox was always(or for the cases I tried) blank and protected. Also noticed a menu item under "Datasource" called "setup delta" to be grayed out as well. So looks like, a delta can be set up in SAP R/3 but does not let me do it.
My question is
1) why can't I set up a delta?Hi Jay,
First, you do not create a Datasource from BW. A Datasource is created in R/3. You replicate them to BW afterwards so that you can create/map them to Transfer Rules.
Datasource creation is in R/3 only. You can of course create BW as a source of data for other systems but thats something else.
Creating a <b>GENERIC DELTA</b> is based only on <b>TIMESTAMP</b>, <b>NUMERIC POINTER</b> and <b>CALENDAR DAY</b>. <i>Delta Check box</i> is really grayed out for <b>GENERIC DATASOURCES</b> because once you specify that your generic data source is <i>DELTA</i> capable by using any of the three options above as DELTA, then the <i>Delta Check Box</i> is automatically checked.
What <i>Setup Delta</i> are you referring that you cannot do?
--Jkyle -
Generic Datasource with Additive Delta
Hi all
I have a question.
In whic case can I use a generic datasource with additive delta?
Does this delta mode make sens only with function module extraction?
If I extract data directly from a table, can I use this delta mode only if a field represents changes?
Thanks for your help!
S.Stefania,
To my knowledge what you are thinking is wrong.
we have 2 Methods for Generic DS.
1. New status for changed Records.
2. Additive delta.
New status for changed records means
New Order
order no quantity
1000 10
order changed to quntity 8. then 2 records will posted 2 BW in first case.
1000 -10
1000 8
if you come to Additve delta.
for the same case it will send the same record as
1000 10
changed records
1000 -2
this is the difference. New status with changed records should be used only in association with ODS not cube becoz we don't have overwrite option.
Additive delta we can use for ODS and Cubes with update mode Addition.
Hope this is clear.
Regards,
Nagesh Ganisetti. -
Error while transporting Generic Datasource in R/3
Hi All,
I have created a generic datasource(R/3) on a view. As it was in $TMP, I have assigned the datasource, ZABCD, and the view, ZVIEW to a devlopment package and also to a transport request. I released the Transport request and when I tried to import it into Q, it throwed me an error with below messages:
Extract structure ZOX**** is not active
The extract structure ZOX**** of the DataSource ZABCD is invalid
Errors occurred during post-handling RSA2_DSOURCE_AFTER_IMPORT for OSOA L
The errors affect the following components:
BC-BW (SAP Business Information Warehouse Extractors)
The extract structure ZOX**** is the structure used by the datsource. I forgot to assign that to the earlier TR and I think the error is because the structure is missing in the TR. Am I correct?
How should I deal with it now? DO I need to create a new TR with this structure alone as the earlier TR is already released?
Thanks,
RPK.As you comment it is possible error was not include the structure in earlier TR.
You can create, in se09 or se10, an empty TR. In these transactions you have a buttoun with a box drawed. Set focus on your new empty TR and push button.
Add object from TR transported with error and the missed structure. -
Generic DataSource using InfoSet on BI 7.0
Hi gurus,
I need to extract data from a InfoCube through a generic DataSource. I have created an InfoSet Query based on this InfoCube and I have noticed this kind of InfoSet is not the same that is used by Tcode RSO2.
Does anybody know if there is any way to get this vai generic DataSource?
I need to get data from Infocube because de Delta Control must be the package number.
Thanks in advance,
Silvio Messias.
P.S.: The version of my environment is 7.0.Hi Ashok,
Into the Tcode RSO2 (Generic DataSource) I have the option to collect data from an InfoSet. This InfoSet must be created through Tcode SQ02, right?
I woult like to get data from a Infoset Query based on InfoCube, created through RSA1 on BI 7.0.
Is there any way to do it?
Thanks for your help,
Silvio Messias. -
Generic datasource creation in IS-HTCM
Gurus
Has anyone worked with IS-HTCM on CRM? and creating of reports with HTCM as source system?
We want to create a few generic Datasources ....BWA1 is one option and RSO2 is the other...But can the BWA1 concept of CRM be tried in HTCM as well? or do we have to resort to RSO2?
Thanks in advance
Regards
PrakashHi Prakash,
for generic datasources the transaction will be rso2 in all systems.
Siggi -
Generic datasource by function module to fetch data from multiple tables?
I'm writing a function module to fetch price, for generic datasource.
At first, extract test is OK. But InfoPackage never stop when loading data to PSA in BW.
And I find the example codes:
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.
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.
There using Cursor to fetch data package by package, and raise exception NO_MORE_DATA to stop the loading process.
Now I fetch data from multiple tables, I don't think I can use Cursor.
Then How can I handle this?
Thanks a lot.Thanks
IF IT_999[] IS INITIAL.
SELECT A~KNUMH A~MATNR A~KSCHL VKORG VTWEG A~DATBI A~DATAB KBETR KMEIN KPEIN C~MTART APPENDING CORRESPONDING FIELDS OF
TABLE TP_DATA
FROM A999 AS A
INNER JOIN KONP AS B
ON A~KNUMH = B~KNUMH
INNER JOIN MARA AS C
ON A~MATNR = C~MATNR
* FOR ALL ENTRIES IN IT_999
WHERE
* A~KNUMH = IT_999-KNUMH AND
( ( A~KSCHL = 'ZPRC' AND VKORG = 'Z000' AND VTWEG = 'Z1' ) OR
( A~KSCHL = 'ZPRD' AND VKORG = 'A000' AND VTWEG = 'Y3' ) ) AND
* A~DATBI >= SY-DATUM AND
LOEVM_KO = ''.
SELECT A~KNUMH A~MATNR A~KSCHL VKORG VTWEG A~DATBI A~DATAB KBETR AS KHETR KMEIN KPEIN C~MTART APPENDING CORRESPONDING FIELDS OF
TABLE TP_DATA
FROM A999 AS A
INNER JOIN KONP AS B
ON A~KNUMH = B~KNUMH
INNER JOIN MARA AS C
ON A~MATNR = C~MATNR
* FOR ALL ENTRIES IN IT_999
WHERE
* A~KNUMH = IT_999-KNUMH AND
A~KSCHL = 'ZPR3' AND A~VKORG = 'I000' AND
* DATBI >= SY-DATUM AND
LOEVM_KO = ''.
ENDIF.
IF IT_997[] IS INITIAL.
SELECT A~KNUMH A~MATNR A~KSCHL VTWEG A~DATBI A~DATAB KBETR AS KHETR KMEIN KPEIN C~MTART APPENDING CORRESPONDING FIELDS OF
TABLE TP_DATA
FROM A997 AS A
INNER JOIN KONP AS B
ON A~KNUMH = B~KNUMH
INNER JOIN MARA AS C
ON A~MATNR = C~MATNR
* FOR ALL ENTRIES IN IT_997
WHERE
* A~KNUMH = IT_997-KNUMH AND
A~KSCHL = 'ZPRA' AND VTWEG = 'Y1' AND
* DATBI >= SY-DATUM AND
LOEVM_KO = ''.
ENDIF.
IF IT_996[] IS INITIAL.
SELECT A~KNUMH A~MATNR A~KSCHL A~DATBI A~DATAB KBETR AS KHETR KMEIN KPEIN C~MTART APPENDING CORRESPONDING FIELDS OF
TABLE TP_DATA
FROM A996 AS A
INNER JOIN KONP AS B
ON A~KNUMH = B~KNUMH
INNER JOIN MARA AS C
ON A~MATNR = C~MATNR
* FOR ALL ENTRIES IN IT_996
WHERE
* A~KNUMH = IT_996-KNUMH AND
A~KSCHL = 'ZPRB' AND
* DATBI >= SY-DATUM AND
LOEVM_KO = ''.
ENDIF.
SELECT MATNR "u7269u6599u53F7u7801
MEINH "u4ED3u50A8u5355u4F4Du7684u5907u7528u8BA1u91CFu5355u4F4D
UMREZ "u57FAu672Cu8BA1u91CFu5355u4F4Du8F6Cu6362u5206u5B50
UMREN "u8F6Cu6362u4E3Au57FAu672Cu8BA1u91CFu5355u4F4Du7684u5206u6BCD
FROM MARM
INTO CORRESPONDING FIELDS OF TABLE IT_MARM
FOR ALL ENTRIES IN TP_DATA
WHERE MATNR = TP_DATA-MATNR AND MEINH = TP_DATA-KMEIN.
LOOP AT TP_DATA.
IF TP_DATA-KPEIN NE 0.
TP_DATA-KBETR = TP_DATA-KBETR / TP_DATA-KPEIN.
TP_DATA-KHETR = TP_DATA-KHETR / TP_DATA-KPEIN.
ENDIF.
IF TP_DATA-KSCHL = 'ZPRA'.
* TP_DATA-MEINH = 'ZI'.
* TP_DATA-KSCHL = 'B4'.
IF TP_DATA-KMEIN = 'ZI'.
TP_DATA-KBETR = TP_DATA-KHETR / '1.17'.
ELSE.
READ TABLE IT_MARM INTO WA_MARM1 WITH KEY MATNR = TP_DATA-MATNR MEINH = TP_DATA-KMEIN.
* READ TABLE IT_MARM INTO WA_MARM2 WITH KEY MATNR = TP_DATA-MATNR MEINH = 'CT'.
TP_DATA-KHETR = TP_DATA-KHETR * WA_MARM1-UMREN / WA_MARM1-UMREZ.
* * WA_MARM2-UMREZ / WA_MARM2-UMREN.
TP_DATA-KBETR = TP_DATA-KHETR / '1.17'.
ENDIF.
ELSEIF TP_DATA-KSCHL = 'ZPRB'.
* TP_DATA-KSCHL = 'L0'.
* TP_DATA-MEINH = 'ZI'.
IF TP_DATA-KMEIN = 'ZI'.
TP_DATA-KBETR = TP_DATA-KHETR / '1.17'.
ELSE.
READ TABLE IT_MARM INTO WA_MARM1 WITH KEY MATNR = TP_DATA-MATNR MEINH = TP_DATA-KMEIN.
* READ TABLE IT_MARM INTO WA_MARM2 WITH KEY MATNR = TP_DATA-MATNR MEINH = 'BAG'.
TP_DATA-KHETR = TP_DATA-KHETR * WA_MARM1-UMREN / WA_MARM1-UMREZ.
* * WA_MARM2-UMREZ / WA_MARM2-UMREN.
TP_DATA-KBETR = TP_DATA-KHETR / '1.17'.
ENDIF.
ELSEIF TP_DATA-KSCHL = 'ZPRC' OR TP_DATA-KSCHL = 'ZPRD'.
* TP_DATA-MEINH = 'ZI'.
IF TP_DATA-KMEIN = 'ZI'.
TP_DATA-KHETR = TP_DATA-KBETR * '1.17'.
ELSE.
READ TABLE IT_MARM INTO WA_MARM1 WITH KEY MATNR = TP_DATA-MATNR MEINH = TP_DATA-KMEIN.
* READ TABLE IT_MARM INTO WA_MARM2 WITH KEY MATNR = TP_DATA-MATNR MEINH = 'WZI'.
TP_DATA-KBETR = TP_DATA-KBETR * WA_MARM1-UMREN / WA_MARM1-UMREZ.
* * WA_MARM2-UMREZ / WA_MARM2-UMREN.
TP_DATA-KHETR = TP_DATA-KBETR * '1.17'.
ENDIF.
ELSEIF TP_DATA-KSCHL = 'ZPR3'.
* TP_DATA-KSCHL = 'B2'.
IF TP_DATA-KMEIN = 'ZI'.
TP_DATA-KBETR = TP_DATA-KHETR / '1.17'.
ELSE.
READ TABLE IT_MARM INTO WA_MARM1 WITH KEY MATNR = TP_DATA-MATNR MEINH = TP_DATA-KMEIN.
* READ TABLE IT_MARM INTO WA_MARM2 WITH KEY MATNR = TP_DATA-MATNR MEINH = 'BAG'.
TP_DATA-KHETR = TP_DATA-KHETR * WA_MARM1-UMREN / WA_MARM1-UMREZ.
* * WA_MARM2-UMREZ / WA_MARM2-UMREN.
TP_DATA-KBETR = TP_DATA-KHETR / '1.17'.
ENDIF.
ENDIF.
TP_DATA-MEINH = '01'.
MODIFY TP_DATA.
E_T_DATA-MATNR = TP_DATA-MATNR.
E_T_DATA-KSCHL = TP_DATA-KSCHL.
E_T_DATA-KHETR = TP_DATA-KHETR.
E_T_DATA-KBETR = TP_DATA-KBETR.
E_T_DATA-KMEIN = TP_DATA-KMEIN.
E_T_DATA-DATAB = TP_DATA-DATAB.
E_T_DATA-DATBI = TP_DATA-DATBI.
APPEND E_T_DATA.
CLEAR WA_MARM1.
CLEAR WA_MARM2.
ENDLOOP.
Edited by: Shen Peng on Oct 20, 2010 10:09 AM -
Problem in creating a generic datasource with infoset
Dear Expert,
I have to create a generic datasource with infoset. I linked the infoset with a test program below. In the program, I have one selection option, which is s_order. After creating an infoset and a datasource, this selection option 'SELECT_S_ORDER' is added to my extract structure. However, after try filtering with this SELECT_S_ORDER, it doesn't filter data at all. Why? I want to filter data with my s_order.
REPORT ZBI_DS_TEST.
tables: vbak.
* DATA
field-symbols: <vbak> type vbak.
data: t_vbak type table of vbak,
w_vbak type vbak,
t_vbak2 type table of vbak,
w_vbak2 type vbak.
* SELECT-OPTIONS
selection-screen begin of block b1 with frame title text-001.
select-options: s_order for vbak-vbeln.
selection-screen end of block b1.
start-of-selection.
* <Query_head>
perform sub_select_data.
loop at t_vbak into w_vbak2.
move-corresponding w_vbak2 to vbak.
* <Query_body>
endloop.
*& Form sub_select_data
* Select data
FORM sub_select_data .
select *
into table t_vbak
from vbak
where vtweg = 'IP'.
ENDFORM. " sub_select_dataWhat do you mean by linking program with infoset?
Do you get the field in your RSA3 Tcode?
Maybe you are looking for
-
Album artwork gone after ios5 update
So I just finished the update which went through with no problems but all my album artwork is gone on the ipad. anyway to fix this? when the next update comes out will it automatically put the artwork back on?
-
Can't use iMessage and FaceTime on new iPad
I just bought the new iPad WiFi but I can't activate iMessage and FaceTime.. I get message about failed connection to the WiFi network although it is connected and I can browse the web, Facebook, get stream photos and such without trouble.
-
Is there a way to default funds/cost center in CAT2 screen? Our requirement is to control the way the cost/funds center appear in the CAT2 screen based on the position the employee holds. If the position is XYZ, then the cost/funds center should eit
-
The scenario is the one where I want to visualize an applet that shows execution of an auction platofrm remotely. The applet (which is the client) simply establishes a TCP connection with the server and gets updates. Everything works fine locally in
-
Ready for new computer---Need Classic---Intel???
Hi All, After 11 years with my PB and OS 9.2.2, I thought I was ready to buy a new new Intel MBP 15". Next I found out that Leopard doesn't include Classic. Then a salesman told me that not all Tiger includes Classic. Reading here, I'm beginning to t