cancel
Showing results for 
Search instead for 
Did you mean: 

Enhancing CRM datasources via BWA1

Former Member
0 Kudos

Hi,

I'm currently on a BW project based on CRM data. I have noticed that there is a lot of confusion everywhere about enhancing standard CRM extractors. Before I get any comments: I went through CR900 course and BW350 course where CRM extraction is clarified but as usual these manuals don't go deep enough. I also read this forum where some usefull things were said but none of them cover all my questions.

Questions :

1) In transaction code BWA1 you can see all extract structure fields for a datasource and a mapping to a segment and fieldname. What do these segment table and fields exactly mean ? Where do they come from ? They seem to be related somehow to the BDOCS but the names of these segments and segment fields are not identical to the ones you can see for transaction code SBDM.

2) How can I easily check which field is located in which segment for e.g. activities compared to the transaction screen ? We have a list of fields to be added but some of them are for sure in a certain segment so that would save a lot of time. Going through manually is a little bit stupid I guess...

3) After adding a new field that is available in an existing segment/field, will the content of this field be automatically available or do you need to adapt the mapping module (function) as well.(or fill it in the user-exit).

4) I have noticed that the R/3 user-exits still work (ZXRSAU01) but you now also have a Badi for mBdoc en SBdoc (CRM_BWA_SFLOW and CRM_BWA_MFLOW). What is the difference between the classical user-exit and these BADI's in case you use a BW Adaptor datasource ? In none of them you seem to be able to access the Bdoc/segments directly. So it seems these should be used if you need data from an external table but what is the difference ? I don't see an added value in the BADI's compared to ZXRSAU01...

5) Currently I feel like copying the BW adaptor relevant business content datasource to a Z-datasource and write all my new fields code in the mapping function module (copied from the standard one). This way I can access all segments tables/fields and I don't need any user-exits/Badi's at first sight. Does anyone see problems/objections with this approach ?

Thanks for feedback !!!!

Accepted Solutions (1)

Accepted Solutions (1)

thecardinal
Contributor
0 Kudos

Double U,

You can only enhance the extractor in SE11 or RSA6. You cannot do it in BWA1. As you state, you would need to copy the standard extractor to a "Z" and create your own function modules etc.

However, what's the point of creating your own extraction and mapping function modules when you can simply use the user exit and avoid any complications with BDocs?

As far as I remember, all business documents in CRM use the same "one order" BDoc anyway, and that is the one you are seeing in BWA1 under the mapping tab.

Former Member
0 Kudos

Stuart,

To give you an example. We would like to have ALL partner functions instead of the ones that SAP adds by default in the extractor. If you have to do the programming yourself this could become quite complicating while all these partner functions are already available in the Bdoc. That I have seen while debugging the mapping function module. I think this BWA1 approach is a lot easier in some circumstances once you know how it works and it is for sure possible to do enhancements over there according to me. See the text of this transaction in the IMG : "Enhance BW adapter meta data". You have "add" buttons to make new mappings to the BDOC fields that are not yet included. Why would you write a classical user-exit and need to figure out all tables+relations if you have the fields available in the Bdoc ?

By the way, I don't think SAP really recommends this classical user-exit approach for BW adaptor datasources although it is indeed working. They have supplied BADI's for enhancing them so there must be a reason for that. But it is just for these purposes that I would like 100% clarification. There is a lot of confusion on these topics everywhere !

kind regards

Former Member
0 Kudos

Roberto,

Hopefully you should be able to clarify things here. Double U has correctly said that there is a lot of confusion in that space between the BWA1 nethod, which is not fully known and between the classical extraction structure enhancement method which is not delta enabled.

Please help, if possible with an example and detail step by step process.

Thanks

Arunava

Ashwin
Active Contributor
0 Kudos

Hi!

In CRM System BW adapter lies in between the CRM Middleware and the SAPI. So in BWA1 we will map the fields of a BDoc to An Extractor. where the CRM Middleware part deals with the extraction of correct CRM Data and the SAPI will deal with the calculation of delta.

it clarifies the confusion.

with regards

ashwin

Former Member
0 Kudos

Hi Double U,

I know this is very late response to your thread. I am also doing some kind of research on BWA1. Like attaching segment and segment fields to enhanced fields. I hope you might have got good idea on this by this time. Can you please help me on this. If you have any documents please email me to [Removed by moderator.]

Thanks

RKR

Answers (5)

Answers (5)

Former Member
0 Kudos

Hi Double U,

I have exactly the same questions you have as below and I have been trying to find answers to it.

I have few CRM datasources which I am using and the all was in my Dev box.

I have enhanced a leads and opportunities datasources and used the classical user exit in ZXRSAU01 to populate the data and it worked fine. Do I have to do anything on BWA1? Do I have to use BADIs.

My problems started when I have transported these datasources to Quality system. My datasources donot have the Active checkbox indicator in BWA5 and I cannot see these datasources in BWA5 in Quality there by cannot load the data.

However one datasource for Orders works fine in Dev and Quality as well.

Could you please help me in resolving this issue.

Thanks and best regards,

KK

Former Member
0 Kudos

ok folks

what was the final solution use classical approach or badi? i am enhancing the data source and need to know what method to use

w_k
Explorer
0 Kudos

I have EXACTLY the same questions.

Therefor I would like to know the outcome.

Does anyone have some comprehensive information/documentation for me?

Currently searching and struggling through the system.

Help will be very welcome.

Thanks in advance.

Former Member
0 Kudos

Hello Double U

May I kindly ask you to send me docs CR900. My address is [Removed by moderator.]

Thanks in advance.

Best regards

Juraj

Former Member
0 Kudos

hi doubleU can you please eMail me the CR900 document. [Removed by moderator.]

thanks in advance...

Former Member
0 Kudos

Dear Mister Double U

Couldyou please email me CR900 document to

[Removed by moderator.]

HUGE THANKS

Former Member
0 Kudos

Hi Double U,

could you please email me CR900 document to

[Removed by moderator.]

Thank you in advance

Doris

Ashwin
Active Contributor
0 Kudos

Hi!

you can see the message structure of the BDOC in SBDM open the BDOC Ex:-<b>BUS_TRANSACTION_MESSAGE</b> and click on the header and in the side window you can see the <b>"general Data"-"Related Data Type"</b> <i><b>BAD_BUS_TRANSN_MESSAGE</b> </i>.

double click this and it will take you to its structure... where you see all the segments that are seen in the BWA1. and for if you click any of the segment for example <b>ACTIVITY_I</b> you can see the ITem type <b>BAD_ACTIVITY_I_MESS</b> and then double click it and it will show you the fields present in this segment.

hope it helps.

with regards

ashwin<i></i><i></i><i></i>

Former Member
0 Kudos

Ashwin,

The whole thing is not making any sense to me.

I went to tran SBDM and open the BDOC BUS_TRANSACTION_MESSAGE, and then expanded. The following is what I got

BUS_TRANSACTION_MESSAGE

--> BUS_TRANS_MSG_HEADER

-->BUS_TRANS_MSG_ACTIVITY

-->BUS_TRANS_MSG_STATUS

-->BUS_TRANS_MSG_ORGMAN

-->BUS_TRANS_MSG_PARTNER

I didn;t find the "in the side window you can see the "general Data"-"Related Data Type" BAD_BUS_TRANSN_MESSAGE" after clicking on the header as you suggested.

In the side , right hand side window I have the four tab

"Segment Overview", "Mapping","Joins" and "Segment field"

And I didn't find the bwa1 segment in there as you suggested.

Any help or clarification? A detail document or steps with explanation would really help.

Thanks

Arunava

thecardinal
Contributor
0 Kudos

Double U,

I have just enhanced the extractor for complaints in CRM.

I basically did the following:

1. Enhance extract structure - select the datasource in RSA6 and click "Enhance Extraction Structure'. Create the append structure containing the extra fields you wish to send to BW.

2. Function enhancement - select the datasource in RSA6 and click "Function Enhancement". Create a project (ZBW). Display the enhancments and assign RSAP0001. Click the "Components" button and modify function exit "EXIT_SAPRLSAP_001" to get your additional data from the business object.

3. Replicate the datasource to BW.

4. At this point I created my own InfoObject Catalog and InfoObjects for the additional data. You may wish to use existing ones.

5. I then created my own ODS object and created the update and transfer rules.

Hope this helps. The BW course TABW30 provides some details on how to do this.

I did not need to modify any BDocs to do this.

Former Member
0 Kudos

Stuart,

Thanks for your feedback. That is what I call the classical user-exit approach (ZXRSAU01) but for BW Adapter datasources via BWA1 you seem to be able to select additional fields from segments which is a lot easier then programming all the logic yourself (meaning that you have to known the tables and the relations). Furthermore the approach you mention is not always delta capable, meaning that in case the added fields change no delta is triggered.

So I hope someone can answer the questions based on experience with BWA1. I'm really looking for further clarification on this.