Generic extractors or data sources enable you to extract data from the source system that isn’t provided via standard extractor . To create a generic extractor you can use transaction RSO2 which allows for the creation, modification and display generc datasources. In this article we try to explain What, How to use User Exit RSAP0001 which it is use to manipulate the entire data package.
How to use RSAP0001 User Exit
1.Go to transaction code CMOD and create new project ZBWEXT, and enter the description of the project for instance, then click on the COMPONENTS button and input RSAP0001.
2.The SAP BW System then display an overview of the function module that are available for this user exit, this user exit contain 4 function module.
a. Transaction Data ( EXIT_SAPLRSAP_001 )
b. Master Data Attributes ( EXIT_SAPLRSAP_002 ).
c. Master Data Text ( EXIT_SAPLRSAP_003 ).
d. Hierarchies ( EXIT_SAPLRSAP_004 ).
For this article, we need function module EXIT_SAPLRSAP_001 for transaction data, the best SAP recommended you should never implement the actual logic in that standard include because the default include is used by every extractor.so you need to create subroutine or function module ,you can checkout ABAP Code example below.
DATA : lv_fname(30) type c.
CONCATENATE 'ZDS_' i_datasource(30) INTO lv_fname.
CALL FUNCTION lv_fname
I_DATASOURCE = I_DATASOURCE
I_ISOURCE = I_ISOURCE
I_UPDMODE = I_UPDMODE
I_T_SELECT = I_T_SELECT
I_T_FIELDS = I_T_FIELDS
C_T_DATA = C_T_DATA
C_T_MESSAGES = C_T_MESSAGES
Then you can modify every datasources by creating function module call ZDS_<DataSources> that contains the interface of function module EXIT_SAPLRSAP_001.
You should avoid an aggregation of data and the deletion of entire data records, this means you can use this user exit only for fill or modify entire field contents or add entire rows.
ABAP Code for modifying or filling field of the extract structure
FIELDS-SYMBOLS : <fs_data> TYPE EXT_STRUCT.
LOOP AT C_T_DATA ASSIGNING <fs_data>.
CALL FUNCTION ZDS_MYDATASOURCES.
The error is captured by a corresponding message in the table C_T_MESSAGES. OK I Hope this article useful for you. Please write comment to this article. for the next article i will write How to use BAdI RSU5_SAPI_BADI, using this BAdI you can create separate implementations per datasource.