Enhancing CRM Extractors

Hello Gurus,
   I have done some enhancement for 0CRM_SRV_PROCESS_I data source using user exit program by calling CRM_ORDER_READ function module.
With this we are experiencing some performance problem as CRM_ORDER_READ is bit slow.
That was my concern till today......
But today when I start debugging the DS, I came to know that standard extractor   itself calls CRM_ORDER_READ FM to fill some standard fields. So, I thought of enhancing the DDS at WA by adding segments and it's fields and thought that we dont need to write code for this (I mean no user exit program, but need minimum code in MAP FM). But, even I assigned segments to fields, data is not populating. The reason I found here that these enhanced filed's are not included into standard DS's ..MAP_I function module.
Here my question is, do we have to generate any thing to include those fields into the FM? If Yes, from where? Or do we have to write user exit program to fill the fields?
Or any other ways can we solve this problem?
appreciate your help....
Thanks
RKR...

Hi RKR,
Yes if you're using the function crm_order_read, it take quite time,,, but it's very powerfull, since it will take a lot of information from there. You just use 1 function to get so many information about order.
I suggest you 2 ways :
1. Instead using that function, you can fetch the directly to the table according to your data's need. e.g. table crmd_orderadm_h, etc.
Or.
2. You make small program in BW to get data from CRM (using fm: crm_order_read), then you put the data to some table in BW.
Then, you create generic datasource whose type is <b>view -> get data from that table in BW </b> ( not a function module).
That small program can be scheduled periodically / you use process chain in order to run :
1. the small program
2. fetching those data from table using generic datasource whose type is view.
Hopefully it can helps you a lot ...
Best regards,
Niel.
(Many thanks for any points you choose to assign).

Similar Messages

  • Enhance CRM extractor for BW

    Hi all,
      To enhance CRM extractors we enhance the BDoc and then used the BADI CRM_BWA_MFLOW or CRM_BWA_SFLOW whichever is applicable to extract the data for the enhanced fields and fill the data source.
    Also we go to transaction RSA6 enhance the datasource structure.
    Now my basic question is why User exists are also enhanced. The procedure is
    In transaction RSA6 select the datasource structure and choose the menu "Function enhancment". This goest to CMOD transaction and there the user exit "EXIT_SAPLRSAP_001" is enhanced
    Could someone explain me why some coding is done in the user exit when the data which needs to be send from the BDoc is already filled in the badi implementation. When does this user exit actually used. In what scenarios do we use this user exit along with the badi implementation.
    Any idea. Thanks for the continued support and I wish "Happy new year" to all of you.
    Thanks in advance
    Jothi

    Hi all,
      To enhance CRM extractors we enhance the BDoc and then used the BADI CRM_BWA_MFLOW or CRM_BWA_SFLOW whichever is applicable to extract the data for the enhanced fields and fill the data source.
    Also we go to transaction RSA6 enhance the datasource structure.
    Now my basic question is why User exists are also enhanced. The procedure is
    In transaction RSA6 select the datasource structure and choose the menu "Function enhancment". This goest to CMOD transaction and there the user exit "EXIT_SAPLRSAP_001" is enhanced
    Could someone explain me why some coding is done in the user exit when the data which needs to be send from the BDoc is already filled in the badi implementation. When does this user exit actually used. In what scenarios do we use this user exit along with the badi implementation.
    Any idea. Thanks for the continued support and I wish "Happy new year" to all of you.
    Thanks in advance
    Jothi

  • Enhance BW Extractor - Transactional data ABAP CODING ERROR

    i need to enhance CRM extractor with additional field.
    This is transactional data so i used Exit_rs_001
    Here is the extractor result -
    Guid...date...........objectid...item guid
    1122......1.1.10....901..........8811
    1122......2.1.10....901..........8812
    1123......1.1.10....902..........8813
    1123......2.1.10....902..........8814
    now i need field Product id in it which is called from DB Table CRMD_SRV_REFOBJ
    itemguid...referencekey...product
    8811............01.................110011
    8812............02.................110012
    8813............03.................110013
    now i want to extract data--
    Guid...date...........objectid...item guid...product
    1122......1.1.10....901..........8811.........110011
    1122......2.1.10....901..........8812.........110012
    1123......1.1.10....902..........8813.........110013
    so i appended the extractor...with field zproduct
    FOLLOWING Code doesnot work:::
    DATA: L_S_INFOSTRU LIKE ziw_orderma_i.
    CASE I_DATASOURCE.
    FIELD-SYMBOLS: <PRO_01> TYPE ziw_orderma_i.
    CASE i_datasource.
    WHEN 'ziw_orderma_i.'. " Upper case
    LOOP AT c_t_data ASSIGNING <PRO_01>.
    SELECT PRODUCT_ID INTO <PRO_01>-zZPRODUCT
    FROM CRMD_SRV_REFOBJ UP TO 1 ROWS
    WHERE ITEM_GUID = <PRO_01>-CRMD_SRV_REFOBJ.
    ENDSELECT. " not whole primary key
    ENDLOOP.
    ENDCASE.

    actually
    coding doesnt give any error
    but in output in rsa3 i dont see any data
    it worked fine wit the same code for master data datasource in exit...2
    now same code different parameters doesnt work in exit..1 for transactional data.

  • Enhance 0CRM_MKTATTR_ATTR extractor

    Hello all,
    I would like to enhance 0CRM_MKTATTR_ATTR standard CRM extractor to be able to view in reporting the field "attribute set"
    Could anybody give some ideas about how to do it?
    Thanks in advance.
    Carmen

    hi Carmen,
    there is another solution rather than to enhance the 0CRM_MKTATTR_ATTR DataSource. Unfortunately I'm currently on a project where I don't have access to a CRM system and can't give you the exact steps.
    In CRM3.0 there was another way to go... similar to extracting Classification data from R/3. The option is still there in CRM4.0 (and probably even in CRM5.0, but that's a pure guess on my side) and you can get there via the IMG (transaction SPRO). I believe you'll find the necessary info here:
    http://help.sap.com/saphelp_crm40/helpdata/en/2b/59dc49c50911d3b29b0050da3ee986/frameset.htm
    If not I'll have to contact some colleagues from my previous project or have a look at my docu at home.
    Cheers,
    Raf

  • How to enhance Standard Extractor for 0CUSTOMER_ATTR

    Hi,
    I need to enhance the standard extractor of 0CUSTOMER_ATTR in order to populate the newly added attributes.
    I have few questions:-
    1) Will there be any impact of manually adding attributes to 0CUSTOMER on the data flow/where used list of 0CUSTOMER.
    2) In order to get the master data for newly added attributes we will need to enhance the extractor. Could you let me know the entire process of enhancing the standard extractor.
    3) Will it be safe to make a copy of 0CUSTOMER as ZCUSTOMER, add the new attributes in ZCUSTOMER and use ZCUSTOMER for our requirement. In this case also we will need to enhance the extractor.
    Your inputs will be helpful.
    Thanks,
    Naveen Kr. Choudhary

    1) Will there be any impact of manually adding attributes to 0CUSTOMER on the data flow/where used list of 0CUSTOMER.
    No there will not be any impact for the where used list of 0CUSTOMER info object, there will be effect once the enhanced data source is replicated to BI side.
    2) In order to get the master data for newly added attributes we will need to enhance the extractor. Could you let me know the entire process of enhancing the standard extractor.
    SE11 --> create the Structure
    Tcode: RSA6 -> Double click on the Data source --> Now in the DS:customer version screen you can see the extract structure name --> double click on it -->Next you will find an option of Append Structure button --> click on it -->
    Add the necessary field's in the Append Structure with Component Type:. Before you exit, make sure that you activate the
    structure by clicking on the activate button.
    Next
    -->You need to confirm that the Added filed has been added to the DataSource and that it will be available to BW. When you go  back at the Postprocess Datasource and Hierarchy screen(RSA6), select the same DataSource again and press the Change DataSource button .
    Check for the filed that you had appended, it will be appeared at the bottom of the extract structure.
    Once this is done now the appended fileds are ready in DS, now we need to populate the data from the corresponding tables.
    For this Select the Data source 0customer_attr --> click on Function enhancement --> enter the project name and next enter the Enhancement RSAP0002 This enhancement has four components that are specific to each of the four types of R/3
    DataSources:
    Transaction data EXIT_SAPLRSAP_001
    Master data attributes EXIT_SAPLRSAP_002
    Master data texts EXIT_SAPLRSAP_003
    Master data hierarchies EXIT_SAPLRSAP_004
    With these four components , any R/3 DataSource can be enhanced suing the above 4 Function module. In this case, you are enhancing a Master data DataSource, so you only need EXIT_SAPLRSAP_002 .
    Next we need ABAP developer in order to enahance the DS and write the logic to populate the values to the filed from the source table.
    once this is done save the code and activate it.
    Next fill the set up tables and  Goto RSA3 tcode check the data source and check for the fileds that were appened are populated with the values or not.
    (for more detailed steps our friend Chowdary has send u the links go through them)
    3) Will it be safe to make a copy of 0CUSTOMER as ZCUSTOMER, add the new attributes in ZCUSTOMER and use ZCUSTOMER for our requirement. In this case also we will need to enhance the extractor.
    I dont think there is a need for creating a new ZCUSTOMER , you can use the standard one.
    Edited by: prashanthk on Aug 13, 2010 9:02 AM

  • CRM Extractor Failure - DATA_LENGTH_0 CX_SY_RANGE_OUT_OF_BOUNDS

    Hello Experts,
    One of the CRM extractor fails during extraction with the below short dump. Every thing worked absolutely fine until now. Please advise on resolving this issue.
    Short Dump Details:
    Short text
        Invalid partial field access: Length 0
    Error analysis
    An exception occurred that is explained in detail below.
    The exception, which is assigned to class 'CX_SY_RANGE_OUT_OF_BOUNDS', was not caught in procedure "ZRSAX_BIW_GET_DATA_SIMPLE_2" "(FUNCTION)", nor was it propagated by a RAISING clause. Since the caller of the procedure could not have anticipated that the  exception would occur, the current program is terminated. The reason for the exception is: In the executed program "SAPLZRSAX", the system attempted to access the field "TEMP_TDLINE_T" using the length 0.  However, a partial field access with the length specification 0 is not allowed.
    This extractor is based on RSAX_BIW_GET_DATA_SIMPLE_2 FM and worked fine without any issues previously.
    Please advise.
    Thanks!

    Sorry, but then something has changed in the data.
    Perhaps a debug of the extractor using current data will help you to find the source.
    One possible reason which comes to mind is, that someone changed the Customizing in the source system and a field is no longer mandatory.
    But the reason is definitly in the source system, not in BI.
    Kind regards,
    Jürgen

  • Enhance BW Extractor - coding problems

    hi gurus
    i need to enhance extractor 0customer_attr so that field from KNKK-GRUPP is pulled in along with 0customer_attr extraction
    so i enhance the extractor using append and type it in the data element, PROVIDED zzxyzno in the field name and extracted it and UNHIDE it.
    now i wrote below code:
    GRUPP
    DATA: L_S_INFOSTRU LIKE biw_kna1_s.
    CASE I_DATASOURCE.
    WHEN '0ustomer_attr'.
      DATA: biw_kna1_s_data LIKE biw_kna1_s.
      LOOP AT C_T_DATA INTO L_S_INFOSTRU.
        L_TABIX = SY-TABIX.
    biw_kna1_s_data-ZZXYZNO = KNKK-GRUPP
      ENDLOOP.
    ENDCASE.
    but it is still not pulling in values from extractor...
    can you please correct my code ???

    thank u sir
    can you please give me the correct code?
    what needs to be written in Read **
    where read needs to be inserted etc. etc.
    if u refering some thread can u please give that thread
    or let me know !!

  • Enhance BW Extractor -abap coding error

    hi gurus
    i need to enhance extractor 0customer_attr so that field from KNKK-GRUPP is pulled in along with 0customer_attr extraction
    so i enhance the extractor using append and type it in the data element, PROVIDED zzxyzno in the field name
    Activated it and UNHIDE it.
    now my abap code in CMOD in ZXRSAU01 for EXIT RS*01 DOESNT WORK...
    now i wrote below code:
    DATA: L_S_INFOSTRU LIKE biw_kna1_s.
    CASE I_DATASOURCE.
    WHEN '0ustomer_attr'.
    DATA: biw_kna1_s_data LIKE biw_kna1_s.
    LOOP AT C_T_DATA INTO L_S_INFOSTRU.
    L_TABIX = SY-TABIX.
    biw_kna1_s_data-ZZXYZNO = KNKK-GRUPP
    ENDLOOP.
    ENDCASE.
    but it is still not pulling in values from extractor...
    can you please correct my code ???

    Try something like
    FIELD-SYMBOLS: <customer_attr> TYPE biw_kna1_s.
    CASE i_datasource.
      WHEN '0CUSTOMER_ATTR'. " Upper case
        LOOP AT c_t_data ASSIGNING <customer_attr>.
          SELECT grupp INTO <customer_attr>-zzxyzno
            FROM knkk UP TO 1 ROWS
            WHERE kunnr = <customer_attr>-kunnr.
          ENDSELECT. " not whole primary key
        ENDLOOP.
    ENDCASE.
    If performance problems arise ("SELECT in a LOOP"), first fill an internal table with a FOR ALL ENTRIES IN c_t_data in a sorted internal table (kunnr and grupp field, key kunnr) , then in the LOOP use a READ TABLE. (mandatory if you use such exits on big extractions.
    Regards,
    Raymond

  • Enhancment CRM data source

    Hi,
    I have enhanced CRM data source 0CRM_LEAD_H with "store"(which is customer master) as a Partner function with component type CRMT_ACTIVITY_PARTNER(Activity Partner) in Extract Structure.Now i need to write User Exit can any one help me out with fom which table and field i should take into ABAP code.When i see in the transanction CRMD_ORDER partner is coming from the STRUCTURE(not like in ECC which comes from VBPA, the same enhancement was done in ECC vbpa-knn1.).
    Can any one help in coding.
    Thanks in advance
    Ram

    you have to do the enhancment for the same.
    it can be done using a badi def .
    in sbiw tcode u can go to setting for appln specific datasource (CRM) and enhance the datasoure using a badi.
    u can check the help there and proceed accordingly...
    for getting the activity partner use FM CRM_ORDER_READ it works in the same fashin as tcode CRM_ORDER.
    I hope this is clear if not let me know.

  • Enhancing HR Extractors

    Hi Gurus,
    I am getting into a HR project where we have to enhance some of the HR data sources (Benefits, PA, time and payroll). i want to know the procedure to enhance HR extractors. Is it the same as other datasources or do we have to do different when handling cluster tables?
    normally we append fields to our extract structure and write code in cmod is it the same for HR datasources?
    can someone give me guidence or necessary steps to be taken when enhancing HR datasources especially when handling fields from cluster tables?
    would be great help
    Pallavi

    Hi,
    It is same for HR  too.First append structure adding new filed that you need then feed this with code in cmod.Please check the link below that is showing HR  datasource enhancement.
    How to enhance 0HR_PT_2 DataSource.
    Regards.

  • Enhancement CRM Material Object

    Hi CRM Gurus,
    I need some direction on enhancing CRM Material Object.
    Due to our R/3 system store Product hierarchy (PRODH) in table MVKE not in table MARA. We need to mapped the product hierarchy from MVKE in R/3 to CRM in general material data (MARA).
    What is the best way to do this?.
    Appreciate your help.
    Thanks
    Nattawat S.

    Hi,
    Reffer to my blog to enhance the materials. /people/vikash.krishna/blog/2006/09/07/extend-the-material-master-bdoc-part-1
    <b>Reward points if it helps!!</b>
    Best regards,
    Vikash.

  • CRM Extractor change

    CRM Extractor change
    I need to redirect one Transaction Type into a different BW Queue.
    I have the transaction type ZZ01 which is extracted by one extractor. The changes are written into the delta queue.
    I need however to extract the ZZ01 with different extractor. Different queue.
    The transaction type ZZ01 is a transaction category BUS2000112
    I have changed the extractor in BWA1. I have added the line
    ORDERADM_H PROCESS_TYPE I EQ ZZ01
    Now the selection looks like this
    ORDERADM_H OBJECT_TYPE I EQ BUS2000112
    ORDERADM_I OBJECT_TYPE I EQ BUS2000147
    ORDERADM_H PROCESS_TYPE I EQ ZZ01
    But the changes have no effect. When I change the any transaction type ZZ01 it is still written into the 'old' queue.
    System CRM 5.0
    I did reinitialize both extractors.
    Thanks for any hints
    Martin

    no solved

  • CRM Extractor: Exception condition 'PROBLEM_WITH_QUERY'.

    Hello all,
    we have a problem when trying to execute a CRM extractor.  This extractor is a copy of 0CRM_OPPT_H standard extractor.  We have copied it with BWA1 transaction, add some new fields, and add two fields to the selection.
    One of the fields is a date ( STATUS_SINCE ), when we execute the extractor with filter for STATUS_SINCE field empty, no problem, but if we enter a value to filter STATUS_SINCE, we get a dump.
    Dump sais Exception condition 'PROBLEM_WITH_QUERY' , the information is the following:
    The termination occurred in the ABAP program "CL_CRM_REPORT_ACC_OINDEX_JE
    in "DOES_FIT_TO_QUERY".
    The main program was "RSFHGEN2 ".
    The termination occurred in line 54 of the source code of the (Include)
    program "CL_CRM_REPORT_ACC_OINDEX_JEST=CM005"
    of the source code of program "CL_CRM_REPORT_ACC_OINDEX_JEST=CM005" (when
    calling the editor 540).
    This only happens with this field, for the other field we have added to the extractor there is no problem, everything works fine.
    Any help is appreciated.
    Regards, Inma

    Hi Inma,
    Please see if OSS note 827332 (Exception-DOES_FIT_TO_QUERY in source system) helps you.

  • Enhance CRM Data Sources

    Mates,
      I understand enhancement of CRM should be procedures as such :-
      1) Enhance using RSA6
      2) Use User Exits to fill these fields in CMOD
      What I dont understand is what is the significan of performing BWA1 and BWA5 after these two steps ?
      Kindly advice

    Hi John Mate,
    Check these links:
    Transaction BWA1 or BWA5 in CRM.
    Re: Difference between bwa1 and rsa2
    Re: Enhancing CRM datasources via BWA1
    Bye
    Dinesh

  • Attribute Set in standar CRM extractor

    Hello all,
    I have to get reporting about Marketing attributes in CRM. I´m using business content extractors for this information:
    0CRM_MKTATTR_ATTR     
    0CRM_MKTATTR_TEXT     
    0CRM_MKTMETA_ATTR (metadata)
    0CRM_MKTMETA_TEXT (metadata)
    But the standard doesn´t retrieve attribute set field.
    Did anybody enhance this standard to retrieve this field? If so, could you give me some ideas about how to do it?
    Thanks,
    Carmen

    Hi Carmen,
    Can you please elaborate the problem a bit more. I cant see this attribute set field anywhere in the standards.
    regards,
    Parth.

Maybe you are looking for