Data source Enhancement with Function Module

Hi all!
I have a requirement like I have to enhance my Generic Data source.
Let me make it clear!
I have 10 field in R/3 which I am able to get into extract structure using Generic Data Source on the corresponding Table.
I have another field on my extract structure, say ZEXMFLD1 which is updated by a function module ZZ_FUNC_MODULE_SAMPLE.
I came to know that Data source Enhancement can be done, but don't know how.
Request your guidance in this. Can u please let me know how I can achieve this?
Thanks,
Sri

Hi Sri,
You can enhance generic datasources also.
For that you have to use below function modules based on your datasource type.
EXIT_SAPLRSAP_001  - Transactiona data
EXIT_SAPLRSAP_002  - Master
EXIT_SAPLRSAP_003  - text
EXIT_SAPLRSAP_004  - Hier
First check in CMOD(TCODE) whether component RSAP0001 is assigned to any project. If it is not assigned to any project(fresh system), assign it to a project by creating it.
Ex. ZBW. If it is already assigned, go SE37.
For transaction data go to function module EXIT_SAPLRSAP_001(Trans data) and start your logic.
CASE i_datasource.
WHEN 'your data source name'.
call you Function module  -  CALL  'ZZ_FUNC_MODULE_SAMPLE'.
pass the imported value from above FM to c_t_data.
close case with ENDCASE.
Let me know if you need more info.
- Kalyan.

Similar Messages

  • Data source enhancement thru function module

    Folks,
    I am trying to figure relation between data source enhancement, package, function module etc?
    I see a function module where enhancement is done. when I go and try to see master data exit EXIT_SAPLRSAP_0002 ... I see include but I do not see reference of function module in this include?
    All these codes are so simple... but I am struggling to figure out all these relation RSAP0001, exit_saplrsap* - include inside and function module attached?
    Can somebody give very simple connection for all these components?
    Thanks,
    -SM

    Hi,
    All these codes are so simple... but I am struggling to figure out all these relation RSAP0001, exit_saplrsap - include inside and* function module attached?
    Please note that for enhancing certain standard objects for meet customer needs, SAP provides different customer exits where we can code as per our requirements.
    These customer exits starting with EXIT********* will be grouped by Enhancements e.g. RSAP0001
    Thanks for your response. In RS02 it is clear that we can mention function module name for data source - that is good for generic extraction. But what do we do when we are enhancing SAP extractor?
    When you want to enhance SAP extractors, you go for customer exits.
    EXIT_SAPLRSAP_001              for Transactional datasources
    EXIT_SAPLRSAP_002              for Master datasources
    EXIT_SAPLRSAP_003              for Text datasources
    EXIT_SAPLRSAP_004              for Hierarchy datasources
    in se37 screen in table tab - sometime we see extract structure - that will establish which functional being called for which data source, but in my case - I do not see anything in table tab?
    If your datasource is function module based, then the function module which is mentioned in RSO2 for your datasource would surely have e_t_data in tables tab with its associated type.
    Only if the datasource is standard one and is processed by function module e.g. 2lis_18_i0notif which is processed by MCEX_BW_LO_API function module, these would not have associated type mentioned for them. To get their structure, you can go to RSA5/ RSA6

  • Problem with R/3 Data Source based on Function module in SAP BI

    Hi,
    We have a data source based on functional module. When we load data from R/3 to BI we face the following error.
    " No end-confirmation arrived in the Warehouse from the source system."
    We are getting data but due to no end confirmation from the source system, the load become timed-out and status becomes "RED". When we change the status to be "GREEN" and proceed tha load further, load is fine.
    Please suggest us a suitable solution.
    Thanks in Advance,
    Geetha

    Hi Geetha Devi Ramalingam.
    I faced the same problem since yesterday. I just resolve the issue.
    So here is my solution :
    try this code :
        FETCH NEXT CURSOR s_cursor
                   APPENDING CORRESPONDING FIELDS
                   OF TABLE e_t_data
                   PACKAGE SIZE s_s_if-maxsize.
        IF sy-subrc <> 0.
          CLOSE CURSOR s_cursor.
          RAISE no_more_data.
        ENDIF.
    if you add your
    bold
    IF sy-subrc <> 0.
          CLOSE CURSOR s_cursor.
          RAISE no_more_data.
        ENDIF.
    bold
    than the sy-subrc may be equal and than your CLOSE CURSOR s_cursor. will have no effect
    it work for me hope it will for u
    Hard luck!
    Salah
    Edited by: idrissi salaheddine on Jan 19, 2012 12:24 PM

  • Error in generic data source by using Function Module

    Hi Guru's,
                    I'm wokring generic extraction with Function module.When i'm saving my data sources iam getting errors stating that
    UNITS FIELD "WAERS" FOR FIELD "WKGBTR" OF DATA SOURCE  XXX
    UNITS FIELD "OWAER" FOR FIELD "WOGBTR" OF DATA SOURCE  XXX
    Thanks in advance..........
    Regards,
    Vijay
    Edited by: vijay m on Feb 1, 2008 5:03 PM

    Khaja,
    Units field WAERS for field WKGBTR of DataSource xxx
    is hidden
         Units field OWAER for field WOGBTR of DataSource ZBWVIEW is hidden
    This is the msg which i got........

  • Generic Data Source Based On Function Module (Delta capable)

    Hi,
    My requirement is to develop a Generic Extractor based on Function Module (Delta capable). As I already found many threads explaining this concept, but most of them discussing FM RSAX_BIW_GET_DATA_SIMPLE with Extraction Method F2. There is another FM RSAX_BIW_GET_DATA which, one can use to build delta enabled extractor.
    Although I do have some doubts:
    what is the E_T_SOURCE_STRUCTURE_NAME ?
    read table i_t_select into l_s_select with key fieldnm = 'PGMID'. Use of this code ?
    Templet only showing
    case i_updmode.
          when 'F'.
          when others.
            if 1 = 2. message e011(r3). endif.
            log_write 'E'                  "message type
                      'R3'                 "message class
                      '011'                "message number
                      i_updmode            "message variable 1
                      ' '.                 "message variable 2
            raise error_passed_to_mess_handler.
        endcase.
    i.upmode as F, D(delta) is not included, do i need to include this?
    Can someone help to solve this. Appropriate points will be allotted to helpful suggestions.
    Edited by: Debjit_Singha_86 on Jul 23, 2011 8:35 AM

    Try using following piece of code;
    READ TABLE g_t_select INTO l_s_select
                                 WITH KEY fieldnm = 'Date Field for Delta'.
          IF sy-subrc EQ 0.
    SELECT SINGLE *
                           FROM ROOSGENDLM
                           WHERE oltpsource EQ 'DataSource Nameu2019
                           AND slogsys      EQ lw_slogsys.
              IF sy-subrc EQ 0.                                            
                lw_date = roosgendlm-deltaid+0(8).
                lw_time = roosgendlm-deltaid+8(6).
                                                                                    ENDIF.                       " IF SY-SUBRC EQ 0.
    ENDIF.
    OPEN CURSOR WITH HOLD S_CURSOR FOR
    SELECT * FROM TABLE
                                   WHERE  CPUDT     GE   lw_date   AND
                                               CPUTIME  GE   lw_time.
        ENDIF.                            
    Table R00SGEMDLM stores the date and time data was last extracted from a data source.
    Alternatively, you can also try using the i_updmode.
    When 'F'.
    SELECT * FROM TABLE (without any where clause on last change date)
    When 'D'
    SELECT * FROM TABLE
                                   WHERE  CPUDT     GE   lw_date   AND
                                               CPUTIME  GE   lw_time.
    These are just suggestions. Try these out, I hope it helps.
    Regards,
    Gaurav

  • Data Source enhancement with ABAP....

    My requirement is to enhance Z data source to include 
    bonus_cat,perfinc and active from ztrm_labdlycat table.
    For that reason i appended the extract structure and in CMOD included the following code in EXIT_SAPLRSAP_001 as this is transaction data source
    <b>CODE:</b>
    case i_datasource.
    when ' Z_TRM_LMS'.
      Loop at case i_datasource.
    when ' Z_TRM_LMS'.
      Loop at i_t_data.
       Select single bonus_cat perfinc active from ztrm_labdlycat into
              i_t_data-zzbonus i_t_data-zzperf i_t_data-zzactive
               Where locat = i_t_data-locat and
                     exrsn = i_t_data-exrsn and
                     apobj = i_t_data-apobj.
        Modify i_t_data.
      Endloop.
    Endcase.
    <b>ERROR</b>
         The field "I_T_DATA" is unknown, but there is a field with the similar name "C_T_DATA".     
    I am new to BW and not familiar with ABAP code...please update me on this how can i correct error
    Thanks

    Include the into clause within bracket.
    Select single bonus_cat perfinc active from ztrm_labdlycat into
    (i_t_data-zzbonus, i_t_data-zzperf, i_t_data-zzactive)
    Where locat = i_t_data-locat and
    exrsn = i_t_data-exrsn and
    apobj = i_t_data-apobj.
    But its not good practice to include ‘Select’ Statement inside Loop..endloop.
    You can create a separate internal table with the three fields and fill it with single select.
    Then you can use read statement inside your loop..endloop.
    The code will be like.
    TYPES: begin of ty_data,
    Locat  (INCLUDE THE VARIABLE TYPE),
    Exrsn (INCLUDE THE VARIABLE TYPE),
    Apobj (INCLUDE THE VARIABLE TYPE),
    bonus_cat  (INCLUDE THE VARIABLE TYPE),
    perfinc (INCLUDE THE VARIABLE TYPE),
    active (INCLUDE THE VARIABLE TYPE),
    End of ty_data.
    Data: i_data type ty_data occurs 0 with header line.
    Select locat exrsn apobj bonus_cat perfinc active from ztrm_labdlycat into corresponding fields of table i_data.
    Loop at i_t_data.
    Read table i_data with key
    locat = i_t_data-locat
    exrsn = i_t_data-exrsn
    apobj = i_t_data-apobj.
    If sy-subrc = 0.
         I_t_data-bonus_cat  =  i_data-bonus_cat.
         I_t_data-perfinc =  i_data-perfinc.
    I_t_data- active = i_data- active.
    Modify i_t_data.
    Endif.
    Endloop.

  • Data alignment issue with function module SO_DOCUMENT_SEND_API1

    Hi All,
    I am using function SO_DOCUMENT_SEND_API1 to send email from SAP. What is happening is the internal table which contains the data of the email(Content of the email) is ok. That is data in internal table is in proper format as required. This table is passed to FM SO_DOCUMENT_SEND_API1. After execution of this FM, mail is sent but the format of the email content is not the same as the format of the data in internal table.
    Can anyone guide me regarding this discrepancy in the data alignment or format in the actual email ?
    Thanks in advance.
    Regards,
    Chetan

    Hi,
    Pass the values like the following format,
      CALL FUNCTION 'SO_NEW_DOCUMENT_SEND_API1'
        EXPORTING
          document_data  = docdata
          put_in_outbox  = 'X'
          commit_work    = 'X'
        TABLES
          object_content = objcont
          receivers      = intrcvers[].
      CASE int_error.
        WHEN 0.
          MESSAGE s888(sabapdocu) with "Mail Sent Successfully...".
        WHEN OTHERS.
          MESSAGE s888(sabapdocu) with "Mail Not Sent...".
      ENDCASE
    I hope this will solve your problem.
    Gothrough the following link,
    https://forums.sdn.sap.com/click.jspa?searchID=14853082&messageID=5409233
    Regards,
    Harish

  • Master Data Source Enhancement

    Hi Gurus
    I have a table in SAP which has customer, Sales Organization, Distribution Channel, Language (which is in EN always) and Customer Sales Text...
    The Customer Sales Text is maintained at Sales Organization and Distribution Channel level..below is the example of one record...
    Customer     Sales Org.     Distr. Channel     Lang.   Customer Sales Text
    123               01                  01                       EN        Blank (No text here)
    123               01                  02                       EN        Blank (No text here)
    123               01                  03                       EN        Blank (No text here)
    123               01                  04                       EN        Blank (No text here)
    123               01                  05                       EN        John Mathwes (Text appears here)
    123               01                  06                       EN        Blank (No text here)
    so when i pull the data to BI i need to see only one record with Customer and text only (no Sales org and distr. Channel necessary) which has the Customer text value (5th record in above example)..
    I created Data source in SAP and pulling the data to BI in DSO with customer and customer text....it's sorting and getting the latest distribution channel record (6th record in above example0
    Can yo uplease tell me is there any way that i can get the record which has customer text in it..(any possibilities of writing abap routine in info package) or any data source enhancement with abap code...
    can you pelase tell me the abap code that needs to be performed to solve the issue...
    Thanks in advance
    sailendra

    Sort the RESULT_PACKAGE by customer and customer text in the endroutine of your transformation.
    After the sort, the record with text for customer will be the last record and it will overwrite the other records in the DSO which has blank values.
    Just add the below sort statement in your end routine.
    SORT RESULT_PACKAGE[] BY CUSTOMER CUSTOMER_TEXT.
    As per the sample records mentioned in your post, after the sort, 5th record will become the last record and this will overwrite the other records which has blank value in the DSO.
    --- Thanks...

  • Data source Enhancement

    HI SDNers,
    I have done data source enhancement with 6 key fig and added those key fig to DSO in DEV and I need to move it to QA. Do I need to delete the data of DSO in QA before move. Do I get any issue with transportation? Actually this is most sencitive data for my client is it possible without deleting data?
    Thanks,
    Swathi

    Hi Swathi,
    You need not delete data from the ODS if you have only added fields to this object. If the no of records in the ODS are more the import of the changes will take a little longer. There should not be any problem.
    Best Regards,
    Murali.

  • Generic Data Source with Function Module data mismatch in BI

    Hi All,
    I'm using Generic Data Source with Function Module, When I execute the Function Module (Which I have Created), I'm getting 16000 records and when run extractor(in RSA3) im getting different no.of records(infact they are more no.).
    when I run the InfoPackage in BI im Getting more no. of records than what i got executing the function module..
    and single record is divided into 2 records in BI side(not all the records), how can it be possible???
    is there anything Im missing to explain you my issue???
    if understood please help me out.
    Thanks n Regards,
    ravi.

    the datasource frame work starts the function module several times.
    1. the initialization
    2. the serval times, until you "raise no_more_data".
    check you coding: have you refreshed necessary internal tables.
    Sven

  • Generic Data Source with Function Module data mismatch

    Hi All,
    I'm using Generic Data Source with Function Module, When I execute the Function Module (Which I have Created), I'm getting 16000 records and when run extractor(in RSA3) im getting different no.of records(infact they are more no.).
    when I run the InfoPackage  in BI im Getting more no. of records than what i got executing the function module..
    and single record is divided into 2 records in BI side(not all the records), how can it be possible???
    is there anything Im missing to explain you my issue???
    if understood please help me out.
    Thanks n Regards,
    ravi.

    HI rkiranbi,
    1. FIrst you excute function module according to your paramers, you will get some records. then goto tcode RSA3 --> excute
    Provide your Data source name and under setting we have options like Data records/calls, Display extractor calls and selections --> fields .
    in that options you have to increase the values. and then you have to pass paramers in RSA3 according to your function module
    selections in SE37. Now you will get equal values in both functin module selection and RSA3 Selection. if it fail means  you need to
    check coding logic in function module. 
    2. if your  are getting wrong values in BI System then check with
                  1. compare with PSA data and data target data (here you need to check with characterstic as well as keyfigures)
                  if you find any mistake you need change the coding in function module according to client requirement.
                  2. compare data with RSA3 and bi report data or data target data.
                                 check it properly above steps, you will get solution.
    thanks and regards,
    malli

  • To update Employee Data with Function module

    Hi
    CRM employee master and HR employee master need to be mapped
    for the labor cost posting function to work.
    In BP transaction (Change in BP role : Employee),
    I could update "Personnel number" and "User Name"
    under Identification Tab
    now I need to do same job with Function module in report program.
    Anybody knows that what Function module should I use ?
    I tryed to do it with Function "CRMXIF_PARTNER_SAVE"
    but I only succesed to update imformations under Adress tab in BP transaction.
    thank you.

    Use FM BAPI_BUPA_CREATE_FROM_DATA.
    Rg,
    Harshit

  • Problem while working with function module RFC_READ_TABLE

    Dear Experts,
                     I am facing a problem while working on the FM RFC_READ_TABLE, in which there is a tables parameter options which is of table type, to which I am passing the condition of selection.  In the debugg mode I found the select quiry in the source code of function module is not executing the condition passed in the options parameter.
    My actual requirement is to fetch all the custom programs in a remote server, the code I have written is below.
    TYPES :
             BEGIN OF ty_tadir,
               pgmid  TYPE pgmid,
               object TYPE  trobjtype,
               obj_name  TYPE  sobj_name,
             END OF ty_tadir.
    DATA : it_tadir TYPE STANDARD TABLE OF ty_tadir,
            wa_tadir TYPE ty_tadir.
      data: stmp_dokhl  like TAB512       occurs 100000 with header line.
      data: options1    like rfc_db_opt occurs     10 with header line.
    data: wa_options1 like line of options1.
      data: nametab1    like rfc_db_fld  occurs     10 with header line.
    START-OF-SELECTION.
    DATA : W_VALUE(5)  TYPE C,
           W_VALUE1(20) TYPE C.
    W_VALUE1 =  'OBJ_NAME like'.
    W_VALUE = 'z*'.
    CONCATENATE 'OBJ_NAME LIKE' ' ''' W_VALUE '''' INTO OPTIONS1-TEXT.
    CONCATENATE W_VALUE1 W_VALUE INTO wa_OPTIONS1-TEXT SEPARATED BY SPACE.
    APPEND wa_OPTIONS1 to OPTIONS1.
    CLEAR wa_OPTIONS1.
        call function 'RFC_READ_TABLE'
             destination                'zard'
             exporting
                  query_table          = 'TADIR' "'ZBANK_GUARANTEE'
             tables
                  options              = options1
                  fields               = nametab1
                  data                 = stmp_dokhl
             exceptions
                  table_not_available  = 1
                  table_without_data   = 2
                  option_not_valid     = 3
                  field_not_valid      = 4
                  not_authorized       = 5
                  data_buffer_exceeded = 6
                  others               = 7 .
    Please give me some inputs on this,
    With warm regards,
    Murthy.
    Edited by: pr murthy on Sep 18, 2008 1:49 PM
    Edited by: pr murthy on Sep 18, 2008 2:14 PM

    Hi
    I have tried this and with small change this is working fine.
    TYPES :
    BEGIN OF ty_tadir,
    pgmid TYPE pgmid,
    object TYPE trobjtype,
    obj_name TYPE sobj_name,
    END OF ty_tadir.
    DATA : it_tadir TYPE STANDARD TABLE OF ty_tadir,
    wa_tadir TYPE ty_tadir.
    data: stmp_dokhl like TAB512 occurs 100000 with header line.
    data: options1 like rfc_db_opt occurs 10 with header line.
    data: wa_options1 like line of options1.
    data: nametab1 like rfc_db_fld occurs 10 with header line.
    START-OF-SELECTION.
    DATA : W_VALUE(5) TYPE C,
    W_VALUE1(20) TYPE C.
    W_VALUE1 = 'OBJ_NAME LIKE ''Z%'''.
    wa_options1-text = w_value1.
    APPEND wa_OPTIONS1 to OPTIONS1.
    CLEAR wa_OPTIONS1.
    call function 'RFC_READ_TABLE'
    *destination 'zard'
    exporting
    query_table = 'TADIR' "'ZBANK_GUARANTEE'
    tables
    options = options1
    fields = nametab1
    data = stmp_dokhl
    exceptions
    table_not_available = 1
    table_without_data = 2
    option_not_valid = 3
    field_not_valid = 4
    not_authorized = 5
    data_buffer_exceeded = 6
    others = 7 .

  • Issue with Function Module...

    Hi Frnzs,
    Here is my issue..Plz go thru it..
    I have a function module (YFSF_ICR_GET_EXCHG_RATE_ODS).
    the function performs the current logic without any changes,
    that is reading SPOT rates for actuals (the planning cycle is empty) or S rates
    for forecasts based on the planning cycle. Nothing needs to be changed here
    concultion : Based on flag I_ICR ni , we have to read new exchange rates ( From ODS)
    the fucntion module code is here
    FUNCTION yfsf_icr_get_exchg_rate_ods.
    ""Local interface:
    *" IMPORTING
    *" REFERENCE(I_PLANCYC) TYPE /BIC/OIYPLANCYC OPTIONAL
    *" REFERENCE(I_SALESORG) TYPE /BI0/OISALESORG OPTIONAL
    *" REFERENCE(I_IC) TYPE /BIC/OIYINVCURR
    *" REFERENCE(I_RC) TYPE /BIC/OIYREPCURR
    *" REFERENCE(I_FISCPER) TYPE /BI0/OIFISCPER
    *" EXPORTING
    *" REFERENCE(E_EXG) TYPE /BI0/OIEXCHG_RATE
    *" EXCEPTIONS
    *" NO_RATE_FOUND
    DATA: l_s_exg TYPE /bic/ayfsfexg00,
    l_t_exg TYPE /bic/ayfsfexg00 OCCURS 0,
    l_year TYPE /bi0/oifiscyear.
    IF i_plancyc IS INITIAL.
    Actuals
    FREE l_t_exg.
    SELECT *
    INTO CORRESPONDING FIELDS OF TABLE l_t_exg
    FROM /bic/ayfsfexg00
    WHERE fiscper <= i_fiscper
    AND fiscvarnt = 'JJ'
    AND /bic/yrepcurr = i_rc
    AND /bic/yinvcurr = i_ic
    AND /bic/yplancyc = ''
    AND /bic/yexchtype = 'SPOT'
    ORDER BY fiscper DESCENDING.
    IF sy-subrc <> 0.
    RAISE no_rate_found.
    ELSE.
    READ TABLE l_t_exg INTO l_s_exg INDEX 1.
    e_exg = l_s_exg-exchg_rate.
    ENDIF.
    ELSE.
    Forecasts
    l_year = i_fiscper+0(4).
    SELECT SINGLE *
    INTO l_s_exg
    FROM /bic/ayfsfexg00
    WHERE fiscvarnt = 'JJ'
    AND fiscyear = l_year
    AND salesorg = i_salesorg
    AND /bic/yrepcurr = i_rc
    AND /bic/yinvcurr = i_ic
    AND /bic/yplancyc = i_plancyc
    AND /bic/yplancyc = ''
    AND /bic/yexchtype = 'S'
    AND exchg_rate GE '0.0000001'.
    IF sy-subrc <> 0.
    RAISE no_rate_found.
    ELSE.
    e_exg = l_s_exg-exchg_rate.
    ENDIF.
    ENDIF.
    ENDFUNCTION.
    ok
    now my requirement is that I need to enhance the Function module for reading exchange rates.
    for this i got the following information:
    - It requires an additional flag I_ICR for instance that can be empty or 'X'
    for instance
    - If the flag is empty, the function performs the current logic without any changes,
    that is reading SPOT rates for actuals (the planning cycle is empty) or S rates
    for forecasts based on the planning cycle. Nothing needs to be changed here
    - If the flag is 'X', the function reads a new exchange rate type, let's call
    it "ICR". As stated in the requirements and functional specs, these exchange rates
    are the Reuter rates valid for a complete year. These are fixed rates so no planning
    cycle. The users will enter records in the format (year, reporting currency, invoicing
    currency, exchange rate). If the input flag I_ICR is X, the function determines
    the year based on the input period, then, based on the year it selects on the same
    table as for the other exchange rates with a restriction on exchange rate type "ICR",
    year, from and to currency and return the exchange rate
    Update rules. There are two:
    - To the consolidation ODS. No changes are required there; the function has to
    read either S or SPOT rates (I_ICR flag is empty)
    - From the consolidation ODS to the cube. As stated in my previous email, the
    from currency is the one available in the data package. The to currency is determined by reading the sales organization master data (reporting currency attribute) based on the inter-company sales organization (also available in the incoming record). It then calls the function module above with the parameter I_ICR set to 'X' so it reads the Reuter rates.
    I guess i need to create another function module and can be used.
    Observation
    ODS table fields.
    - FISCPER
    - FISCVARNT JJ
    - FISCYEAR 2006
    - /BIC/YREPCURR EUR
    - /BIC/YINVCURR JPY
    - SALESORG 0010
    - /BIC/YMRC 3090
    - /BIC/YPLANCYC
    - /BIC/YEXCHTYPE S
    - - RECORDMODE
    Thanx in advance..

    Hi Badrinath,
    Welcome to SDN,
    If i guess right then you are asking the question that whether to include the new functionality in existing function module or not.
    You can edit the same function module.
    but prefrably u can create a new function module.
    you have all the details with you u need to check the condition of  I_ICR in calling program and then call the new FM or the old one.
    creating new function module will also keep the modularisation and clean code.
    Hope this helps

  • VirtualProvider with Function module problem !

    I implemented virtualprovider with function module. Unfortunately  when I run query i get message error :
    u201CFunction call of ZT0X failed; the obligatory parameter CHARACTERISTICS
    An exception with the type CX_SY_DYN_CALL_PARAM_MISSING occurred, but was
    I>> Row: 67 Inc: READ_DATA Prog: CL_RSDRV_VPROV_LOC_NOSIDu201D
    Any suggestions ?
    Below source code:
    u201CFUNCTION ZT0X.
    ""Lokalny interfejs:
    *"  IMPORTING
    *"     VALUE(INFOCUBE) LIKE  BAPI6200-INFOCUBE DEFAULT 'ZT03'
    *"     VALUE(KEYDATE) LIKE  BAPI6200-KEYDATE OPTIONAL
    *"  EXPORTING
    *"     VALUE(RETURN) LIKE  BAPIRET2 STRUCTURE  BAPIRET2
    *"  TABLES
    *"      SELECTION STRUCTURE  BAPI6200SL
    *"      CHARACTERISTICS STRUCTURE  BAPI6200FD
    *"      KEYFIGURES STRUCTURE  BAPI6200FD
    *"      DATA STRUCTURE  BAPI6100DA
    DATA:
        l_r_srv              TYPE ref to CL_RSDRV_REMOTE_IPROV_SRV,
        l_th_mapping         TYPE CL_RSDRV_REMOTE_IPROV_SRV=>TN_TH_IOBJ_FLD_MAPPING.
    *  break-point ID ZRSDRV_RC1.
    * break DEVELOPER.
      perform build_mapping_table
        changing l_th_mapping.
      create object l_r_srv
        exporting
          i_tablnm              = '/BIC/PZPRD_ID'
          i_th_iobj_fld_mapping = l_th_mapping.
      l_r_srv->open_cursor(
        i_t_characteristics = characteristics[]
        i_t_keyfigures      = keyfigures[]
        i_t_selection       = selection[] ).
       l_r_srv->fetch_pack_data(
        importing
          e_t_data = data[] ).
      return-type = 'S'.
    ENDFUNCTION.
    &---- <
    *&        Form  build_mapping_table
    &---- <
    Form build_mapping_table
      changing
        c_th_mapping TYPE CL_RSDRV_EXTERNAL_IPROV_SRV=>TN_TH_IOBJ_FLD_MAPPING.
      DATA:
        l_s_map TYPE CL_RSDRV_EXTERNAL_IPROV_SRV=>TN_S_IOBJ_FLD_MAPPING.
      l_s_map-iobjnm = 'ZPRD_ID'.
      l_s_map-fldnm  = '/BIC/ZPRD_ID'.
      insert l_s_map into table c_th_mapping.
      l_s_map-iobjnm = 'ZWARTOSC'.
      l_s_map-fldnm  = '/BIC/Z_CEN_W'.
      insert l_s_map into table c_th_mapping.
    +endform.u201D

    Hello
    I experienced the same issue. Were u able to solve it? If yes , kindly ask you to make posting here so that others can benefit as well.
    Huge thanks

Maybe you are looking for

  • How to create an embedded link with VBScript that references user website from Active Directory?

    I have scoured the web for days and have not been able to quite come up with exactly what I need for this. I have created an Outlook signature deployment using VBScript which sets information in an already formatted Word doc using placeholders. (Ex.

  • External monitor will not go to native resolution on my macbook pro

    Hi, I have just bought a 22" Westinghouse monitor connected to the dvi and I have no idea on how to display its native resolution of 1680x1050 I have tried mirroring the two monitors and it will not allow me to view the native resolution on my new mo

  • Values in the form are not saving

    Hi Gurus, When I enter a value in the Planning form ( Classic Planning 9.3.1) and try to save it, it is not saving and after that save button also getting disable. It is not showing any error. What might be the reason? Please help me. Thanks And Rega

  • GetXMLString java.lang.OutOfMemoryError

    Hello, I am trying to get data from tables and save this information in XML files. I am using XML SQL utility into a Java program. The problem is that I have a big table with a LONG data type and when the program try to get the data it shows an error

  • JSP and EJB interaction

    Has anybody tried the setup below, if so did it work, if not is it possible ? A JSP makes use of a java bean as one of its actions. The Java Bean actually creates a lookup to a local interface implementation for a session EJB. This EJB then performs