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
    haritha

    Hi,
    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

  • Badis using infospoke

    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

  • Infospoke transformation

    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!
    Saniya

    Hi
    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,
    Sweatha

    You 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.
    JP

    You 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.

  • Infospoke BADI problem

    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,
    Amith

    Hi 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

  • InfoSpoke BAdI Substitution

    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 thanks

    Check if this is helpful:
    BADI in InfoSpoke

  • Infospoke BADI

    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 PM

    If 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

  • Infospokes BADi

    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