BW Query as datasource for generic extractor...
Hi,
I want to use a BW Query as DataSource for a generic extractor, the objective is fill an InfoCube from the result of that query. It is possible? If can it be done, how?
Thanks.
Enrique.
Hi Enrique,
You can achieve this with the APD. See this for more info:
http://help.sap.com/saphelp_nw04/helpdata/en/e3/e60138fede083de10000009b38f8cf/frameset.htm
Hope this helps...
Similar Messages
-
Infoset Query is not available for generic Extractor
Hi,
I've created an infoset in SAP ECC with sq02. Then I've created an Infoset Query on top of this Infoset, because I wanted to exclude records with specific values. Now I want to use this Infoset Query (with the filter restrictions) in my generic DataSource. I can only chosse the Infoset, but not the InfoSet Query. Normally I use the filter in the InfoPackage, but neither IP nor DTP can exclude values with a pattern (f.e. exclude all record that contains a $ symbol in the string)
Any suggestions?
Thanks and regards,
SebastianI agree with Jen, that BW side routines would work just fine.
If it is extractor performance you are worried about and that is why you want to build the $ exclusion in the select, then I would suggest just creating an extractor from scratch using a custom written function module. It's actually very strait forward and provides many advantages over table/view/InfoSet based generic extractors.
I am not a fan of using InfoSets for generic extractors.. but you can create InfoSets based on a data read program in which case you code all the selects and whatnot. But if you go that far with the InfoSet, why not just write the FM...
Thanks -
Function Module for Generic Extractor
Hi, I have a generic extractor that uses a Function Module to extract the data. I have a change I need to make that only affects the code in the Function Module. Do I need to regenerate the DataSource or can I just change the function Module and transport the change to the function module?
Thanks for any details...As long as you are not changing the extract structure, you do not need to regenerate the datasource or replicate. Send FM only.
Regards,
Chad -
Delta update for generic extractor ?? Urgent!!!!
Hi All
In my project I am pulling data from 4 R/3 tables... I have created view & then Generic DataSource.
Can a delta update be set-up for the generic extractor based on adds/changes to the R/3 tables?
Thanks & Regards,
Sheetal
Message was edited by:
Sheetal DhoreHi,
Please take a look at the following doc.
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/d3219af2-0c01-0010-71ac-dbb4356cf4bf
Regards,
® -
How to identify update mode in function module for generic extractor
Hi All,
I have created generic extractor using function module which supports delta load.
Delta logic is handeled in coding...by using ROOSGENDLM table.
Now problem is we need to identify the update mode, requested from infopackage in our function module in order to apply logic for Repair full.
I would like to know table or parameter in source system, which contain the update mode (Init , Delta , Full).
Thanks,
NirajHi Niraj
You can use the FM import parameter "i_updmode" (This is of type "SBIWA_S_INTERFACE-UPDMODE") to determine if infopackage triggerred in full or delta mode.
I_REQUNR TYPE SBIWA_S_INTERFACE-REQUNR
I_ISOURCE TYPE SBIWA_S_INTERFACE-ISOURCE InfoSource Name
I_MAXSIZE TYPE SBIWA_S_INTERFACE-MAXSIZE Data Packet size
I_INITFLAG TYPE SBIWA_S_INTERFACE-INITFLAG Initial Flag
I_UPDMODE TYPE SBIWA_S_INTERFACE-UPDMODE Update Mode
I_DATAPAKID TYPE SBIWA_S_INTERFACE-DATAPAKID Datapacket Id
I_PRIVATE_MODE
I_CALLMODE TYPE ROARCHD200-CALLMODE Single-Character Flag
I_REMOTE_CALL TYPE SBIWA_FLAG
Cheers
Vasu Sattenapalli -
BW Query as datasource for the context of a WD
Hi all,
I would like to implement the following scenario:
Inside a WD I configure a set of parametrs for a query in BW. Then I want to call the web application with that query, deliver the parameters to the query and the BIApplikationFrame should then insert the result (which consists of a structure) into the context of the calling view.
Did anyone implemnt this scenario already.
Does anyone have comments, HowTos or other experiences related to that scenario and could this please share with me?
Thanks the lotHi Petra,
You can use XMLA (MDX) /people/prakash.darji/blog/2006/09/04/work-with-xmla-web-service-for-bi-data-in-external-applications
See
http://help.sap.com/saphelp_nw04/helpdata/en/a6/c0e51914e842e19bda39dbbe4fe78c/frameset.htm
BI Xmla Connector
BI Java Connector Configuration problems
Best regards, Maksim Rashchynski. -
BW query as datasource for segmentation
Hi,
At help.sap.com the following is posted:
"Only use queries that are based on InfoCubes. Queries that are based on ODS objects and BI InfoSets are only partially supported." (http://help.sap.com/saphelp_crm50/helpdata/en/af/d0efa709f811d4b2d70050da3ee986/frameset.htm)
Does anyone of you know what partially means in this case? When is it supported and when not??
Thanks, CamillaHi
I think partly means the SAP BW is linked to the CRM Server partly by the Middleware Broker and partly by direct RFC calls and BAPIs.
The BW Adapter extracts data in to SAP BW.
I hope this helps -
How will i convince a client to go for Geniric extractor ..
Hi All,
How will i convince a client to go for Generic extractor and in which scenario?
Thanks & Rgds
-Tapashi,
Always it is suggestable to go for SAP provided business content extractors, since they have statndard routine and standard datasource for each applications. if you need addition fields then you can enhance the same.
hence try using business content extractions. like LO,FI and HR extractors.
SAP have standard notes for problems on business content extractors which is more useful.
If the client requiremnet is more complex and is not fulfilled by the business content then choose to go for generic.
Ramesh -
Expand a generic extractor in MM
Hello everybody,
I need to expand a generic extractor in MM to incorporate the buyer, someone I could indicate a link to explain how to do this correctly.
Now, thank youFor standar extractor there is a procedure how to extend it, add one or more fields but for generic extractor, you need to understand how the logic is build, check if extractor in rso2 and see if FM or table/view or infoset query is used and based on that you need to make the changes.
thanks.
Wond -
Delta fo Generic extractor using function module
Hi,
I am using the following function module for generic extractor but its always showing me extraction error.Could anyone please suggest to resolve the issue.
Thanks in advance fo rsuggestion.
FUNCTION Z_BW_SALESDATA_EXTRACT_CHNG2.
""Local interface:
*" IMPORTING
*" VALUE(I_REQUNR) TYPE SBIWA_S_INTERFACE-REQUNR
*" VALUE(I_ISOURCE) TYPE SBIWA_S_INTERFACE-ISOURCE OPTIONAL
*" VALUE(I_MAXSIZE) TYPE SBIWA_S_INTERFACE-MAXSIZE OPTIONAL
*" VALUE(I_INITFLAG) TYPE SBIWA_S_INTERFACE-INITFLAG OPTIONAL
*" VALUE(I_UPDMODE) TYPE SBIWA_S_INTERFACE-UPDMODE OPTIONAL
*" VALUE(I_DATAPAKID) TYPE SBIWA_S_INTERFACE-DATAPAKID OPTIONAL
*" VALUE(I_PRIVATE_MODE) OPTIONAL
*" VALUE(I_CALLMODE) LIKE ROARCHD200-CALLMODE OPTIONAL
*" VALUE(I_REMOTE_CALL) TYPE SBIWA_FLAG DEFAULT SBIWA_C_FLAG_OFF
*" TABLES
*" I_T_SELECT TYPE SBIWA_T_SELECT OPTIONAL
*" I_T_FIELDS TYPE SBIWA_T_FIELDS OPTIONAL
*" E_T_DATA OPTIONAL
*" E_T_SOURCE_STRUCTURE_NAME OPTIONAL
*" EXCEPTIONS
*" NO_MORE_DATA
*" ERROR_PASSED_TO_MESS_HANDLER
The input parameter I_DATAPAKID is not supported yet !
Example: InfoSource containing TADIR objects
TABLES: VBFA,VBRK,tadir.
Auxiliary Selection criteria structure
DATA: l_s_select TYPE sbiwa_s_select.
Maximum number of lines for DB table
STATICS: l_maxsize TYPE sbiwa_s_interface-maxsize.
user defined variables.
DATA : X_UPDMODE(1) Type c, " Update Type
X_LastUpdate Like Sy-Datum. " Last Update Date
X_LastUpdate TYPE RODELTAID. " Last Update Date "TCS_KAP
Select ranges
RANGES: L_R_VBELN FOR VBAK-VBELN,
L_R_AUDAT FOR VBAK-AUDAT.
Parameter I_PRIVATE_MODE:
Some applications might want to use this function module for other
purposes as well (e.g. data supply for OLTP reporting tools). If the
processing logic has to be different in this case, use the optional
parameter I_PRIVATE_MODE (not supplied by BIW !) to distinguish
between BIW calls (I_PRIVATE_MODE = SPACE) and other calls
(I_PRIVATE_MODE = X).
If the message handling has to be different as well, define Your own
messaging macro which interprets parameter I_PRIVATE_MODE. When
called by BIW, it should use the LOG_WRITE macro, otherwise do what
You want.
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
The input parameter I_DATAPAKID is not supported yet !
Invalid second initialization call -> error exit
IF NOT g_flag_interface_initialized IS INITIAL.
IF 1 = 2. MESSAGE e008(r3). ENDIF.
log_write 'E' "message type
'R3' "message class
'008' "message number
' ' "message variable 1
' '. "message variable 2
RAISE error_passed_to_mess_handler.
ENDIF.
Check InfoSource validity
CASE i_isource.
WHEN 'Z_BW_SDDATA_CREATEON'.
WHEN 'Y'.
WHEN 'Z'.
WHEN OTHERS.
IF 1 = 2. MESSAGE e009(r3). ENDIF.
log_write 'E' "message type
'R3' "message class
'009' "message number
i_isource "message variable 1
' '. "message variable 2
RAISE error_passed_to_mess_handler.
ENDCASE.
Check for supported update mode
CASE i_updmode.
WHEN 'F'.
WHEN OTHERS.
IF 1 = 2. MESSAGE e011(r3). ENDIF.
log_write 'E' "message type
'R3' "message class
'011' "message number
i_updmode "message variable 1
' '. "message variable 2
RAISE error_passed_to_mess_handler.
ENDCASE.
Check for obligatory selection criteria
READ TABLE i_t_select INTO l_s_select WITH KEY fieldnm = 'VBELN'.
IF sy-subrc <> 0.
IF 1 = 2. MESSAGE e010(r3). ENDIF.
log_write 'E' "message type
'R3' "message class
'010' "message number
'PGMID' "message variable 1
' '. "message variable 2
RAISE error_passed_to_mess_handler.
ENDIF.
APPEND LINES OF i_t_select TO g_t_select.
Fill parameter buffer for data extraction calls
g_s_interface-requnr = i_requnr.
g_s_interface-isource = i_isource.
g_s_interface-maxsize = i_maxsize.
g_s_interface-initflag = i_initflag.
g_s_interface-updmode = i_updmode.
g_s_interface-datapakid = i_datapakid.
g_flag_interface_initialized = sbiwa_c_flag_on.
Store Update mode in static variable...
X_UPDMODE = I_UPDMODE.
Select Single DELTAID
Into X_LastUpdate
From ROOSGENDLM
Where OLTPSOURCE = 'Z_BW_SDDATA_CREATEON'.
If X_LastUpdate Is Initial.
X_LastUpdate = '19800101'. " The oldest..., this should not happen
Endif.
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 g_t_segfields.
ELSE. "Initialization mode or data extraction ?
Data transfer: First Call OPEN CURSOR + FETCH
Following Calls FETCH only
X_UPDMODE = I_UPDMODE.
First data package -> OPEN CURSOR
IF g_counter_datapakid = 0.
Fill range tables for fixed InfoSources. In the case of generated
InfoSources, the usage of a dynamical SELECT statement might be
more reasonable. BIW will only pass down simple selection criteria
of the type SIGN = 'I' and OPTION = 'EQ' or OPTION = 'BT'.
LOOP AT g_t_select INTO l_s_select WHERE fieldnm = 'VBELN'.
MOVE-CORRESPONDING l_s_select TO L_R_VBELN.
APPEND L_R_VBELN.
ENDLOOP.
LOOP AT g_t_select INTO l_s_select WHERE fieldnm = 'AUDAT'.
MOVE-CORRESPONDING l_s_select TO L_R_AUDAT.
APPEND L_R_AUDAT.
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 InfoSource table lines and database entries, this is trivial.
In other cases, it may be impossible and some estimated value has to
be determined.
*added by Yogesh
DELETE FROM ZBWSALEDATA.
*ended by Yogesh
l_maxsize = g_s_interface-maxsize.
Check for supported update mode
CASE X_UPDMODE.
WHEN 'F' Or 'I'. " Full or Init
**get sales orders
SELECT *
INTO CORRESPONDING FIELDS OF TABLE I_SALESDATA
FROM VBAK AS K
INNER JOIN VBAP AS P
ON PVBELN = KVBELN
WHERE K~VBELN IN L_R_VBELN
AND K~AUDAT IN L_R_AUDAT
AND K~VBTYP = 'C'.
IF I_SALESDATA[] IS NOT INITIAL.
PERFORM F_GET_DATA. "get data
PERFORM F_DEL_VATCOND. "delete vat conditions
PERFORM F_GET_TAR_COSTUNIT. "get tariff cost unit
PERFORM F_GET_NETVAL TABLES IT_VBDPA1. "get net val of the item
PERFORM F_GET_SALESDATA.
*write perform with name F_INSERT_DB_ZBWSALEDATA.
PERFORM F_INSERT_DB_ZBWSALEDATA. "insert into table ZBWSALESDATA
LOOP AT I_SALESDATA WHERE NETPR = 0.
MOVE-CORRESPONDING I_SALESDATA TO I_SALESDATA_FIN.
APPEND I_SALESDATA_FIN.
ENDLOOP.
SORT I_SALESDATA_FIN BY VBELN POSNR KSCHL.
DELETE ADJACENT DUPLICATES FROM I_SALESDATA_FIN
COMPARING VBELN POSNR
KSCHL.
INSERT ZBWSALEDATA FROM TABLE I_SALESDATA_FIN.
ENDIF.
WHEN 'D'. " Delta
SELECT *
INTO CORRESPONDING FIELDS OF TABLE I_SALESDATA
FROM VBAK AS K
INNER JOIN VBAP AS P
ON PVBELN = KVBELN
WHERE K~ERDAT >= X_LastUpdate
WHERE K~ERDAT >= X_LastUpdate+0(8) "TCS_KAP
AND K~VBTYP = 'C'.
IF I_SALESDATA[] IS NOT INITIAL.
PERFORM F_GET_DATA. "get data
PERFORM F_DEL_VATCOND. "delete vat conditions
PERFORM F_GET_TAR_COSTUNIT. "get tariff cost unit
PERFORM F_GET_NETVAL TABLES IT_VBDPA1. "get net val of the item
PERFORM F_GET_SALESDATA.
*write perform with name F_INSERT_DB_ZBWSALEDATA.
PERFORM F_INSERT_DB_ZBWSALEDATA. "insert into table ZBWSALESDATA
LOOP AT I_SALESDATA WHERE NETPR = 0.
MOVE-CORRESPONDING I_SALESDATA TO I_SALESDATA_FIN.
APPEND I_SALESDATA_FIN.
ENDLOOP.
SORT I_SALESDATA_FIN BY VBELN POSNR KSCHL.
DELETE ADJACENT DUPLICATES FROM I_SALESDATA_FIN
COMPARING VBELN POSNR
KSCHL.
INSERT ZBWSALEDATA FROM TABLE I_SALESDATA_FIN.
ENDIF.
WHEN OTHERS.
IF 1 = 2. MESSAGE E011(R3). ENDIF.
LOG_WRITE 'E' "message type
'R3' "message class
'011' "message number
I_UPDMODE "message variable 1
' '. "message variable 2
RAISE ERROR_PASSED_TO_MESS_HANDLER.
ENDCASE.
**end get sales orders
OPEN CURSOR WITH HOLD g_cursor FOR
SELECT (g_t_fields) FROM ZBWSALEDATA.
WHERE pgmid IN l_r_pgmid AND
object IN l_r_object.
ENDIF. "First data package ?
Fetch records into interface table. There are two different options:
- fixed interface table structure for fixed InfoSources have to be
named E_T_'Name of assigned source structure in table ROIS'.
- for generating applications like LIS and CO-PA, the generic table
E_T_DATA has to be used.
Only one of these interface types should be implemented in one API !
FETCH NEXT CURSOR g_cursor
APPENDING CORRESPONDING FIELDS
OF TABLE E_T_DATA
PACKAGE SIZE l_maxsize.
IF sy-subrc <> 0.
CLOSE CURSOR g_cursor.
RAISE no_more_data.
ENDIF.
g_counter_datapakid = g_counter_datapakid + 1.
ENDIF. "Initialization mode or data extraction ?
Best regards,
YogeshDear Yogesh,
Try to debug the code by putting a break point at select statement...is the FM Syntactically correct ??
Check the Select statements..if all fields are not required avoid using Select * , and use always for all entries rather than JOINS..
Note : For Joins you have to specify the Fields in the Select...Dont use Select * ....
Hope it helps..
Thanks,
Krish -
Generic extractor replication process
Hi All,
How to replicate Generic extractor in BI7.O?
In BI 7.0 transport required for Generic extractors to replication?
Please guide me.
Thanks,
KNHi Kumaran,
To Replicate follow the below steps,
1.Go to Source System>Select your Source System(R3/ECC)>Double Click it-->It will Take u to the DS Screen
2.Select your DS(It should be your MM,SD etc...)-->Expand the tree and check the DS which needs to be replicated
3.Right Click and select Replicate...
Hope it should work... Cheers
Regards,
Syed -
Generic Extractors for HR Reports using views and Infoset Query
Hi Friends... I am working to come out with the HR reports in BW for the HR reports which are already there in R/3. The HR reports in R/3 are created based on Infoset Query.I could not find any standard business content cubes which can give me these reports.
1)So please can anyone give me step by step approach so to create a generic extractors based on Infoset Query.
2)And also how to populate the data into the fields of the generic extractor which is created by Infoset Query( Please provide any sample ABAP code if available)
3)can anyone give me step by step approach so to create a generic extractors based on View/Table.
4)And also how to populate the data into the fields of the generic extractor which is created by View/Table( Please provide any sample ABAP code if available)
ThanksHi Kalyani,
We normally go for View or infoset when the data to be fetched in BW is distributed in different tables in SAP R/3.
Had the data been available in one table we can easily build our datasource on that table but if there are more tables then its not possible to do it without Views or Infosets. You can use Function Modules to build your datasource in case it involves complex logic to figure out the data from various tables.
Depending upon the table relationships we create view and include various fields from these tables in that view. Same is with the Infosets, you can have more flexible options like Outer Join, left outer Join etc.
Regards,
Pratap Sone -
When to go for generic extraction using view and infoset query?
Hi,
Can anyone clarify me when we should go for generic extraction using view and when we should go for generic extraction using infoset query....
Also what is the difference between view and infoset?
I tried but could not find out....
Regards,
Kalyani.Hi Kalyani,
We normally go for View or infoset when the data to be fetched in BW is distributed in different tables in SAP R/3.
Had the data been available in one table we can easily build our datasource on that table but if there are more tables then its not possible to do it without Views or Infosets. You can use Function Modules to build your datasource in case it involves complex logic to figure out the data from various tables.
Depending upon the table relationships we create view and include various fields from these tables in that view. Same is with the Infosets, you can have more flexible options like Outer Join, left outer Join etc.
Regards,
Pratap Sone -
i need to create a extractor x_attr to bring master data attributes from a table y.how can set
the generic delta on this x_attr generic datasource.does a generic delta exists for attr
datasource?Hi,
For delta to work properly in case of generic extractor.the field on which you want to make delta should be present in
the data source.
We have three delta.
1.Time stamp.
2.Cal day.
3Numeric pointer.
So depending upon your requirement and volume of your data you can choose the delta method.
Thanks,
Saveen Kumar -
Hi,
Has anyone attempted to write their own generic extractors to mimic the LO process because the results from this module did not meet their requirements? Would you recommend doing this?
Thanks
"<i>Good people do not need laws to tell them to act responsibly, while bad people will find a way around the laws</i>." ~ Plato (427-347 B.C.)
"<i>Forgive your enemies, but never forget their names.</i>" ~ John F. Kennedy (1917-1963)
Forgivenes - <i>Just get out of my life and spare me the anguish of pitying you</i> ~ Anonymous Author
Message was edited by:
Ellen DeGeneresThe LO process of extraction cannot be mimicked. If the requirement is such that you need more/different fields then you have the following options.
1. If the fields are in the extract structure of the datasource in question then just add the fields to the datasource and use the LO extraction process.
2. If you need to add some fields which are not in the extract structure of the datasource then add them to the datasource and use user exit to fill them.
3. If the need is for a completely different extractor. Then creat the extractor in RSO2,
More detailed info is in the weblogs by Robert Negro.
Hope this helps.
Bhargava
Maybe you are looking for
-
L7780 scan bar goes all the way across, but the light is only on for the first 1/2 inch
If one does a scan/copy with the thing open, one can see a bar run from one side to the other, lit in one direction. On my L7780, that light is no longer lit for the entire trip across, resulting in a mostly black scan/copy. What do I do? Repair?
-
Creating Authorization on queries, infocubes
Hi All, Can any one help me by providing step by step procedure in creating authorization on queries, infocubes, infoarea etc. Thanks, Satya.
-
trying to install the ruby package keeps wanting to snag x.org and friends. is there are ruby in the repos that does not have an X win dependency? pacman -Si ruby Name : ruby Version : 1.8.1-3 Groups : None Provides
-
Adding 3 new search criteria(2 dropdowns and 1 input field)
Hi Guys, I have an issue to add 2 dropdownlist boxes the value of one will decide the entries in second drop down.ie dynamic selection.Now i want to use both these values selected for searching Knowledge Base in the view SolSText.htm in IC_BASE appl
-
Limiting the value help for a user input variable as required
Hello Gurus, I have a requirement :- Restrict the value help for a user input variable in a query to only a required set of values instead of the default behaviour. ie instead of having all the values in the master data of that characteristics in the