BADI in InfoSpoke
Hello,
I would like to use a BADI to transform data from a source structure to a target structure in an InfoSpoke.
I am having trouble changing target structure. Apparently, there should be some HOW TO document (How To..Change an Infospoke's extraction layout).
Has anyone come across this document??? I am not able to find it anywhere.
Further, does anyone know how to customize the target structure. I am trying to get a file in the following format:
COST_CENTER COST_CENTER_TEXT COST_ELEM COST_ELEM_TEXT AMT
I am extracting the data from the cube:0CCA_C11. As I activate the BADI in the InfoSpoke, BW automatically creates a Source Structure (/BIC/CYZCOCCC11_IS001 for e.g.) & a Target Structure (/BIC/CZZCOCCC11_IS001 for e.g.)
I have the following problems:
BW forces me extract the Currency Field with the Amount Key Figure. I do not want the Currency Field as I am extracting data in only one currency CO Area Currency.
When I do make changes & try to save it, BW does not allow me to use a normal customer defined Package/Development Class starting with Z*. It provides a message that the Target Structure should be stored in a Package for generated objects starting with /BIC/. SAP does not seem to allow me create such a package in SE80.
Would anyone have answers to these issues??
Thank you in advance.
Raja
Hi Rajasekhar,
Hope I understood your issue correctly.
Issue:
Ignore CURRENCY in the o/p.
Solution:
This can be done in two ways:
1. In the BAdI TARGET STRUCTURE, ensure that, this field is not selected. Hence, in the BAdI ensure that you populate the data correctly to the respective fields.
2. O/P the file with Currency and hence use a ABAP program to re-translate this file to another one without the CURRENCY characters.
By default CURRENCY is comes along with either Net Value or so.
These are the steps I followed:
1. Goto RSBOH1.
2. Create your InfoSpoke with default options.
3. Activate you InfoSpoke.
4. Go to the tab "Transformations" and check the box "InfoSpke with ... BAdI".
5. This will take you to the BAdI. In the BAdI enter the filter to be your InfoSpoke Name.
6. Activate the BAdI.
7. Goto SE12 and edit the TARGET STRUCTURE and ACTIVATE it.
8. Go back to the BAdI and write the source code for the BAdI.
Thats it!!
Hope this helps.
Regards,
GPK.
Similar Messages
-
What is the advantage of using badi in infospoke?
Hi all,
Can anyone let me know when shall we use badi along with infospoke. if we apply so, then what is the advantage of using badis in infospoke.
thanxs
harithaHi,
BADIs will come into picture where you want to do some messaging (manipulations)on data before downloading.
For eg while downloading the sales data you want to fetch billing data from billing related infoproviders , put a look up on billing info providers and update the sales data with billing info in BADI.
hope it helps..
regards,
raju -
hi friends,
using badis we are writing some abap code in info spoke.
suppose using badis, i need this condition, where ever the key figure value is zero delete it and so how can i write abap code usning badis.
Thanking u
suneel.Hi,
U will have to check the option for transformation in infospoken then u will have to create implementation for this then in method u can write u r code as follows:
method IF_EX_OPENHUB_TRANSFORM~TRANSFORM .
Check the infospoke value
CASE FLT_VAL.
when 'ZDEB_INFO'.
data: i_data type table of /BIC/CYZDEB_INFO ,
iw_data type /BIC/CYZDEB_INFO,
e_data type standard table of /BIC/CZZDEB_INFO,
w_data type /BIC/CZZDEB_INFO.
i_data[] = I_T_DATA_IN[].
loop at i_data into iw_data.
if iw_data-<your KF> ne 0.
w_data = iw_data.
append w_data to e_data.
clear w_data.
endif.
endloop.
E_T_DATA_OUT[] = e_data[].
ENDCASE.
endmethod.
Thanks,
Debasish -
Hi all,
I am writting an ABAP code in the implementation of the BAdI for infospoke. The function is IF_EX_OPENHUB_TRANSFORM~TRANSFORM .
When I try to define an internal table (with OCCURS 0) and activate, it says "Tabels with headers are no longer supported in teh 00 context".
Any help would be greatly appreciated.Alanso,
The error you are getting is because the ABAP checks are much more strict with the introduction of ABAP Objects (ABAP OO). In certain instances you have to abide by the much stricter syntax.
Within the BADI you will have to declare an internal table and a work area (header row) separately.
Example:
data: my_itab type standard table of [table type],
my_itab_wa like line of [table type].
You then have to move the data from the itab to the wa, etc.
Cheers,
Dave Fox
MassMutual -
Data transfer from bw to another system usaing BAPI
hi friends,
ple explaing me how can i migrate data from bw to another sap-system or non-sap system usaing bapi.
i have some idea bat bapi like steps for function modules . i dont have idea for bw.
There are 5 different steps in BAPI.
- Create BAPI Structure
- Create BAPI Function Module or API Method.
- Create BAPI object
- Release BAPI Function Module.
- Release BAPI object.
and what abt badis for infospoke.
Thanking u
suneel.hi friends,
ple explaing me how can i migrate data from bw to another sap-system or non-sap system usaing bapi.
i have some idea bat bapi like steps for function modules . i dont have idea for bw.
There are 5 different steps in BAPI.
- Create BAPI Structure
- Create BAPI Function Module or API Method.
- Create BAPI object
- Release BAPI Function Module.
- Release BAPI object.
and what abt badis for infospoke.
Thanking u
suneel. -
Error while transporting infospoke with BADI in BW7.0
Hi:
We have an infospoke with Transformation ( ie with BADI) in BI7.0.
While transporting to Quality box it gives error.
"Transfer structure /BIC/CZZTXXXXX3 could not be generated
Error when activating InfoSpoke ZTXXXXX3.
Message no. RSOH010 "
Could you please help in rectifying the error.
PS: we tried transporting BADI first and then the infosoke but still its failing.
Regards!
SaniyaHi
Check the forum link below
Transport Problems with Spokes that have BADIs
Thanks -
Infospoke BADI -- no change in structure?
Hello Experts,
We have three fields in: rsbo > edit infospoke INF1> transform
1) Source structure
2) Target structure
3) Addin Implementation.
-- I want to create a BADI and do not want to change the structure. But set some values in another table when INF1 is run.
-- Wondering if it is still possible to use BADI in this situation.
-- So can i leave the target structure blank or repeat it with the source structure itself.
Thanks,
SweathaYou need to fill it with the source structure in the definition and move the fields in your implementation (probably by move-corresponding). Otherwise you're free to fill as many other database tables as you like.
Best regards
Dirk -
Missing BAdI after the changes to InfoSpoke in BI 7.0
Hi Gurus,
Recently our BW system was upgraded from BW 3.5 to BI 7.0. And it was a Technical Upgrade.
And now we are trying to change one InfoSpoke Selection which has a BAdI defined in the Transformations Tab.
We didnt touch anything on the BAdI it was just the selection change in the Selection tab.
Aftre activating the InfoSpoke when we come back to Tranformation Tab we dont see the Traget Structure and BAdi Implementation name any more.
But when the InfoSpoke was executed, we can see the Transformations step in the monitor screen.
That means even though the BAdI name was not visible in the InfoSpoke definition, transformations was being performed in the
extraction.
But this is not true when the changes(InfoSpoke) were migrated to Quality system.
There BAdI and Target Structure are not visible in the InfoSpoke and no transformation step is being executed in the Extraction.
But both BAdI and Target Structure objects are active in the repository. Only link between the InfoSPoke and BAdI is missing.
This is happening to all the InfoSpokes which are being changed.And this didnt happen before upgrade to BI 7.0.
Can any body share some inputs on how to solve this issue..
Thanks in advance....
Regards,
Padma.Hi,
May be the following will help you!
Regards,
Subha
API: RSB_API_OHS_SPOKE_GETDETAIL
This API identifies the InfoSpoke details.
Parameters:
Parameter
Type
Description
Import
INFOSPOKE
RSINFOSPOKE
Name of the InfoSpoke
Export
RFCOHDEST
RSOHDEST
Name of the open hub destination
RFCUPDATEMETHOD
RSBUPDMODE
Extraction Mode for the InfoSpoke
RFCPROCESSCHAIN
RSPC_CHAIN
Process chain
RFCOHSOURCE
RSOHSOURCE
Open hub data source
RFCTLOGOSRC
RSTLOGOSRC
TLOGO type of data source
RFCMAXPACKSIZE
RSIDOCSIZE
Maximum number of records per package
RETURN
BAPIRET2
Tables
T_MESSAGES
BAPIRETTAB
Messages -
Urgent Help needed - BADI's in Infospoke
Hi,
My Scenario:
I am pulling data from master data using infospoke into Application server. I need some kind of easy transformations during this stage.
I got ZSTATE field in my data and I need to restrict my output to only certain states(Ex: NJ,CA, TX , MNetc). Since I can't give those selection conditions in infospoke I need to try BADI. I created a BADI and have target and source structure. Can anyone write me small code for this to eliminate other states and allow NJ , CA, MN, TX etc.
Source structure: /BIC/CYZZTEST
target Structure: /BIC/CZZZTEST
infospoke: ZZTEST
Field: Zstate
Class:ZCL_IM_ZZTEST
Method:IF_EX_OPENHUB_TRANSFORM~TRANSFORM
Full points to helpful answer!!
Anil.The problem is cross user too - I have two user files on the machine and the same thing happens regardless of which user file I'm working in.
That points to s 'system-wide' issue.
Try resetting your SMC.
Resetting the System Management Controller >>
Also, you could try booting from your install DVD and see if it does it there. If it does not, it's more than likely a software issue and an Archive and Install should fix it.
Mac OS X: About the Archive and Install feature >>
-Bmer
Mac Owners Support Group - Join us @ MacOSG.com
Mac611 Mobile Mac Support - about.Mac611.com
iTunes:MacOSG Podcast | YouTube.MacOSG.com
An Apple User Group
Have an iPhone or iPod touch? Enter Mac611.com in Safari on it for 'mobile Mac support.' -
BADI Implementation for INFOSPOKE
Hi,
I have a BADI logic to read the product description from the text table in my infospoke and writing into a file.
I have multiple(10) infospoke extraction (same format but with different selections) which wants to use the similar type of logic.
My question is:
Is it possible to write one Generic BADI and that can be shared by other infospoke extractions?
OR should I copy the same logic for other 10 BADI ?
I believe the BADI is specific to infospoke. I see that I have no control over the source structure...
2) I was trying this in RSCRM_BAPI. My query result in BEX shows the product and product description(from text table)fine. where as in my RSCRM_BAPI it displays only the product and NOT the description. If I could able to display the text using RSCRM_BAPI I can define 10 queries which makes my life easier...
Any idea/suggestion in both methods is greatly appreciated as this is kind of very URGENT..
Thanks for you help.This is kind of URGENT.
Any help will be very useful -
Access fields of infospoke from badi
Hi all,
i'm trying to transform an infospoke with BADI and i don't know how to access the fields from the IF_EX_OPENHUB_TRANSFORM~TRANSFORM method to manipulate them.
Can anyone give me some expample coding ?
thx in advance.
JPYou can find the example at transformation tab itself. Click on the information icon...
In the following implementation, a counter OHCOUNT is added to the extracted data of InfoSpoke MYSPOKE. To do this, the field OHCOUNT was added to the target structure /BIC/CZMYSPOKE in the DataDictionary.
method if_ex_openhub_transform~transform .
data: l_count type sy-tabix,
l_s_data_in type /bic/cymyspoke,
l_s_data_out type /bic/czmyspoke.
data l_dummy.
message i899(rsbo) with 'exit started' into l_dummy.
i_r_log->add_sy_message( ).
clear e_t_data_out.
loop at i_t_data_in into l_s_data_in.
move-corresponding l_s_data_in to l_s_data_out.
l_s_data_out-ohcount = sy-tabix.
insert l_s_data_out into table e_t_data_out.
endloop.
message i899(rsbo) with 'exit finished' into l_dummy.
i_r_log->add_sy_message( ).
endmethod. -
Hi all,
I am using an Infospoke to extract data from an infocube to the application sever in .CSV format. There are five fields in the extract. Since I want to filter out negative values coming in field5 I am using a BADI implementaion to do that. At the end of the file I am giving 'EOF' as value for field1 using the same BADI imlementation to mark the end of the file. Following is the BADI code I am using.
method IF_EX_OPENHUB_TRANSFORM~TRANSFORM.
DATA :
ZSTDATAIN TYPE /BIC/CYZINFOSPOKE ,
ZITDATAIN TYPE STANDARD TABLE OF /BIC/CYZINFOSPOKE,
ZSTDATAOU TYPE ZSTRUCTURE ,
ZITDATAOU TYPE STANDARD TABLE OF ZSTRUCTURE.
LOOP AT I_T_DATA_IN INTO ZSTDATAIN.
IF ZDATAIN-/BIC/FIELD5 > 0 .
MOVE-CORRESPONDING ZSTDATAIN TO ZSTDATAOU.
APPEND ZSTDATAOU TO ZITDATAOU.
CLEAR ZSTDATAOU.
ENDIF.
ENDLOOP.
ZSTDATAOU-/BIC/FIELD1 = 'EOF'.
ZSTDATAOU-/BIC/FIELD2 = ' '.
ZSTDATAOU-/BIC/FIELD3 = ' '.
ZSTDATAOU-/BIC/FIELD4 = ' '.
ZSTDATAOU-/BIC/FIELD5 = ' '.
APPEND ZSTDATAOU TO ZITDATAOU.
E_T_DATA_OUT[] = ZITDATAOU[].
endmethod.
I have given the maximum value of 999999 as lines per data package in infospoke. So when the number of records is more than this value I am geting more than one 'EOF' records in my .CSV file. I have to avoid it. Can any one suggest how it can be done. Any help will be appreciated.
Regards,
AmithHi Luis,
Thanks for your answer, but I already made the changes in the "target structure" of the transformation tab by changing that structure by one created by myself with the field I wanted to add to the layout (it's a copy of the autogenerated one with the new field, as explained above).
I swaped also the autogenerated structure with the one i created (on the 'transform method' of the "addin implementation" for the badi).
Also i already had the object in the infospoke fields of the infobjects tab.
Kind Regards,
Carles -
I would be grateful for any help with the following.
I have created an InfoSpoke based on a GL line item cube
I want to (simply) transform the output data and have set this up OK on the Transformation tab
so I have a Target Structure (that I've amended as necessary)
and I have a Addin implementation
but when I double click on the Addin implementation to go to the Business Add-in Builder
on the Interface tab I can select Formula
but when I double-click on the Method TRANSFORM to go to the Formula Builder
the only option I have is Create Condition whereas what I want is to Create Substitution.
Any ideas on how to get to the Create Substitution ?
Many thanksCheck if this is helpful:
BADI in InfoSpoke -
Hi All,
I wrote a transformation using a badi, but seems to be BADI is not getting when i run the infospoke..
My infospoke putting the records in the destination though i commented the insert
loop at I_T_DATA_IN INTO l_s_source.
MOVE-CORRESPONDING l_s_source to l_t_result ."where vtype ne '10'.
* INSERT l_t_result into table E_T_DATA_OUT.
endloop
please provide your comments how to enable badi for infopsoke..
Edited by: shanthi bhaskar on Jun 28, 2010 4:13 PMIf i put the Break point also it is not not stopping .. Am i missing some thing, i referenced this doc
http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/70cc1083-f6c1-2b10-12ad-ed718ddc3d73?quicklink=index&overridelayout=true
Edited by: shanthi bhaskar on Jun 30, 2010 4:36 PM -
Hi SAP Gurus!
My problem is that we have created several infospoke with BADi. And by mistake, we created a wrong code. After to all the infospokes, and no one of them work out.
Although, we have fix the problem (amending the code). We were wondering if it is possible to make that the BADi only affects to the infospoke that we need.
So, in the case that we have a problem with the BADi for one of them, the others would be able to being used.
Thanks a lot in advance!!Hi
have you seen this...
http://help.sap.com/saphelp_nw2004s/helpdata/en/c5/03853c01c89d7ce10000000a11405a/frameset.htm
http://help.sap.com/saphelp_nw2004s/helpdata/en/eb/3e7cf4940e11d295df0000e82de14a/frameset.htm
http://help.sap.com/saphelp_nw2004s/helpdata/en/e6/d54d3c596f0b26e10000000a11402f/frameset.htm
This following forum link will be very useful for you:
/message/1469337#1469337 [original link is broken]
assign points if useful ***
Thanks,
Raj
Maybe you are looking for
-
I Have an iPad mini running iOS 7.1.2, I downloaded a new app and it's icon does not appear anywhere ( have ~ 180 apps so not at limit) and it won't open from the purchased apps list. It does not show up when I search for it so can't open t that wa
-
Iterator moves to first row on Timeout
I've been finally able to reproduce an issue that has randomly popped up in my application where some of the datapoints in my page seem to point to the 'first' row and not to the 'current' row. Please consider the following test scenario: - My taskfl
-
am trying to create an image and then burn a dvd i made on the MAC from a minidv tape. When i try to verify the image i get a message" unable to verify & 'has no checksum info to verify" & when a blank DVD is put in to burn, an error message: unable
-
E52 -how do you turn the camera shutter sound off?
ive tried everything! E52 - Product code 0585050
-
MultiProvider (How many objects can be attached?)
OK - I believe in 3.0 - 3.5 you were only allowed only 13 Cubes/ODS/Info-Object to be attached to a multiprovier - Does the same hold true for 7.0??