Function Module not extracting records when InfoPackaged is executed

Hi,
I'm using a Function module for extracting data. The DataSource is working fine in RSA3 with a selection criteria. But when i schedule the infopackage with the same selections in the data selection tab, Its not getting me any records into BW. In the Details Tab i get the message "Error occurred in the data selection" . I guess there is a problem with the data selection. Pasted below is the code i'm using for extraction. Can anyone please let me know if there is any issue with the code.
Also how do we pass on the value of I_MAXSIZE into the function module, the remaining parameters get the values from BW. And can anyone please explain me the concept of the "s_counter_datapakid" and when it should be incremented and where it should be located in the code?
Thanks,
AM
Auxiliary Selection criteria structure
  DATA: l_s_select TYPE srsc_s_select.
Maximum number of lines for DB table
  STATICS: s_s_if TYPE srsc_s_if_simple,
counter
          s_counter_datapakid LIKE sy-tabix,
cursor
          s_cursor TYPE cursor.
Initialization mode (first call by SAPI) or data transfer mode
(following calls) ?
  IF i_initflag = sbiwa_c_flag_on.
Initialization: check input parameters
                buffer input parameters
                prepare data selection
Check DataSource validity
    CASE i_dsource.
      WHEN 'XXXXX'.
      WHEN OTHERS.
this is a typical log call. Please write every error message like this
        log_write 'E'                  "message type
                  'R3'                 "message class
                  '009'                "message number
                  i_dsource   "message variable 1
                  ' '.                 "message variable 2
        RAISE error_passed_to_mess_handler.
    ENDCASE.
    APPEND LINES OF i_t_select TO s_s_if-t_select.
Fill parameter buffer for data extraction calls
    s_s_if-requnr    = i_requnr.
    s_s_if-dsource = i_dsource.
    s_s_if-maxsize   = i_maxsize.
Fill field list table for an optimized select statement
(in case that there is no 1:1 relation between InfoSource fields
and database table fields this may be far from beeing trivial)
    APPEND LINES OF i_t_fields TO s_s_if-t_fields.
  ELSE.
Data transfer: First Call      OPEN CURSOR + FETCH
               Following Calls FETCH only
First data package -> OPEN CURSOR
    IF s_counter_datapakid = 0.
      g_first = 'X'.
Fill range tables BW will only pass down simple selection criteria
of the type SIGN = 'I' and OPTION = 'EQ' or OPTION = 'BT'.
      LOOP AT s_s_if-t_select INTO l_s_select WHERE fieldnm = 'BWLVS'.
        IF l_s_select-low <> '101' AND
           l_s_select-low <> '109'.
          RAISE invalid_movement_type.
        ELSE.
          MOVE-CORRESPONDING l_s_select TO r_im_bwlvs.
          APPEND r_im_bwlvs.
        ENDIF.
      ENDLOOP.
      LOOP AT s_s_if-t_select INTO l_s_select WHERE fieldnm = 'BEGDA'.
        MOVE-CORRESPONDING l_s_select TO r_im_begda.
        r_im_begda-low0(4) = l_s_select-low6(4).
        r_im_begda-low4(2) = l_s_select-low0(2).
        r_im_begda-low6(2) = l_s_select-low3(2).
        APPEND r_im_begda.
      ENDLOOP.
      LOOP AT s_s_if-t_select INTO l_s_select WHERE fieldnm = 'ENDDA'.
        MOVE-CORRESPONDING l_s_select TO r_im_endda.
        r_im_endda-low0(4) = l_s_select-low6(4).
        r_im_endda-low4(2) = l_s_select-low0(2).
        r_im_endda-low6(2) = l_s_select-low3(2).
        APPEND r_im_endda.
      ENDLOOP.
*Select from table ltak into internal table i_ltak the following fields.
*Condition: where bwlvs = import bwlvs & endat is >= import begda and
<= import endda.
      READ TABLE r_im_begda INDEX 1.
      IF sy-subrc NE 0.
        RAISE blank_date_invalid.
      ELSE.
        IF r_im_begda-low IS INITIAL.
          RAISE blank_date_invalid.
        ENDIF.
      ENDIF.
      READ TABLE r_im_endda INDEX 1.
      IF sy-subrc NE 0.
        RAISE blank_date_invalid.
      ELSE.
        IF r_im_endda-low IS INITIAL.
          RAISE blank_date_invalid.
        ENDIF.
      ENDIF.
      IF NOT r_im_endda-low IS INITIAL
        AND r_im_begda-low > r_im_endda-low.
        RAISE invalid_date.
      ENDIF.
      r_endat-sign = 'I'.
      r_endat-option = 'BT'.
      r_endat-low = r_im_begda-low.
      r_endat-high = r_im_endda-low.
      APPEND r_endat.
*-- Get data from the tables
      PERFORM get_data.
*-- Populate the extract structure with data
      PERFORM write_data.
*-- Fill Export able with the extracted data
      e_t_data[] = i_zbipicprd2[].
    ENDIF.                             "First data package ?
    IF g_first EQ 'X'.
      CLEAR g_first.
    ELSE.
*-- This is important to prevent endless loop.
      RAISE no_more_data.
    ENDIF.
s_counter_datapakid = s_counter_datapakid + 1.
  ENDIF.              "Initialization mode or data extraction ?
ENDFUNCTION.

The load is running successfully but its not fetching any records into BW.
In the Status tab, Step by Step Analysis the following three steps are red:
Does selectable data exist in the source system? (Red)
Data selection successfully started ? (Red)
Data selection successfully finished ? (Red)
and the below is the Analysis
Diagnosis
    The data request was a full update.
    o   In this case, the corresponding table in the source system does not
            contain any data.
    o   System Response
            Info IDoc received with status 8.
            Procedure
Check the data basis in the source system.
But i have data in R/3 and i'm able to extract it using RSA3

Similar Messages

  • IDOC error 51- Function module not allowed:

    Hi,
    I am getting following error in IDOC inbouond.I verifyed all parameters mentioned in error.
    Issue still not resolved.
    When debugged from WE19 this issue dosnt arise.
    Kindly guide.
    Function module not allowed: ZIDOC_INPUT_MATCLASS
    Message no. B1252
    Diagnosis
    The function module ZIDOC_INPUT_MATCLASS and the application object type BUS1001 which were determined are not valid for this IDoc.
    Procedure
    1. Please check that the process code in the inbound partner profile is correct.
    2. If this is the case, you should check the ALE inbound methods ALE inbound methods for the process code and see whether the specified function module and application object type are correct.
    3. If this is also the case, then the function module and the application object type are not permitted for the logical message type, message variant, message function and basis type that are contained in the IDoc control record. You should check whether the correct values have been assigned to these fields in the control record. If they do have the correct values, then the assignment to the function module and the application object type needs to be maintained.

    Hi,
    Check in WE42, for the process code, you have assigned this function module and given the correct process code in the partner profile.
    Sujay

  • Idoc error 51 - "Function module not allowed - APPL_IDOC_INPUT1'

    Hello everyone,
    We are uploading GL balances from legacy to SAP using the LSMW Bapi
    object - bus6035
    method - post
    message type - ACC_DOCUMENT
    Basic type - ACC_DOCUMENT03
    When we run the lsmw, idoc is created, however with an error 51 saying
    "Function module not allowed - APPL_IDOC_INPUT1'
    The partner no. is the logical system (the system on which the lsmw is executed)
    In the partner profile, we have defined this as LS. In the inbound parameters, we have defined message type = ACC_DOCUMENT, the process code is APL1 and the corresponding function module is - APPL_IDOC_INPUT1
    Please let me know if we are missing something or doing anything wrong ?
    Since the data in the LSMW will be read frmo a file on the presentation server, do we need to have a port configuration for the same ?
    Thanks,
    Sushil Joshi`

    Hello Sushil
    The long text of message B1(252) is quite informative for error analysis:
    NA B1252
    Short Text
         Function module not allowed: &
    Diagnosis
         The function module  and the application object type  which were
         determined are not valid for this IDoc.
    Procedure
         1.  Please check that the process code in the  inbound partner profile
             is correct.
         2.  If this is the case, you should check the ALE inbound methods ALE
             inbound methods for the process code and see whether the specified
             function module and application object type are correct.
         3.  If this is also the case, then the function module and the
             application object type are not permitted for the logical message
             type, message variant, message function and basis type that are
             contained in the IDoc control record. You should check whether the
             correct values have been assigned to these fields in the control
             record. If they do have the correct values, then the assignment to
             the function module and the application object type needs to be
             maintained.
    On ECC 6.0 this long text contains 3 transactions for analysis:
    - WE20
    - BD67
    - WE57
    Regards
      Uwe

  • Function module not allowed: RSAR_DATA_RECEIVED B1 252

    Hi Friends,
    I have a Data load problem when loading hierarchi data loads i.e. 0material,0prod_hier etc.
    I am getting the following error:
    Error when updating Idocs in Business Information Warehouse
    Diagnosis
    Errors have been reported in Business Information Warehouse during IDoc update:
    Function module not allowed: &
    System Response
    Some IDocs have error status.
    Procedure
    Check the IDocs in Business Information Warehouse . You do this using the extraction monitor.
    Error handling:
    How you resolve the errors depends on the error message you get.
    Under Error Analysis:
    Function module not allowed: RSAR_DATA_RECEIVED B1 252.
    We are getting this problem after refreshing the R/3 source system with production R/3 system.
    the loads went fine before the refresh.
    Data load is taking long time and finally getting failed without pulling any data into BW.
    Looking for valuable suggessions.
    Thanks in advance.
    Laxman

    Cannot load Hierarchies after refresh
    More information in SAP Note 216671.

  • Error Function module " " not found in Smartforms

    Hi all,
    Please help me out….
    I created the form using the smartforms, check it and activated it. I can see the unique function module is assigned to the form. I wrote the ABAP program and use function module ‘SSF_FUNCTION_MODULE_NAME’and also define data types.
    when I called the function module fm_name for passing values and tables from program to smartform. This is working perfectly in development server but in production it giving error like Function module " " not found.
    Below I m pasting my code.
    *& Report  ZCASHJOURNAL                                                *
    REPORT  zcashjournal                            .
    TABLES: bseg.
    DATA: FM_NAME TYPE rs38l_fnam.
    DATA:BEGIN OF it_bseg OCCURS 0.
            INCLUDE STRUCTURE bseg.
    DATA:END OF it_bseg.
    DATA:BEGIN OF it_bseg1 OCCURS 0.
            INCLUDE STRUCTURE bseg.
    DATA:END OF it_bseg1.
    DATA: gv_amt_in_words TYPE spell,
          gv_word TYPE spell-word,
          gv_decword TYPE spell-decword.
    DATA:BEGIN OF gt_bkpf OCCURS 0.
            INCLUDE STRUCTURE bkpf.
    DATA:END OF gt_bkpf.
    DATA:bktxt TYPE bktxt.
    DATA:waers TYPE waers.
    DATA:belnr TYPE belnr_d.
    DATA:werks TYPE bukrs.
    DATA:desc  TYPE butxt.
    DATA:awkey TYPE awkey.
    DATA:docno TYPE matnr.
    DATA:cajo  TYPE awkey.
    DATA:desc1 TYPE butxt.
    DATA:dmbtr TYPE dmbtr.
    SELECTION-SCREEN BEGIN OF BLOCK b2.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT (15) FOR FIELD s_belnr.
    SELECTION-SCREEN POSITION 28 .
      PARAMETERS : s_belnr TYPE bseg-belnr .
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
      SELECTION-SCREEN COMMENT (15) FOR FIELD s_werks.
        SELECTION-SCREEN POSITION 28 .
          PARAMETERS: s_werks TYPE werks.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN END OF BLOCK b2.
    SELECT * FROM bkpf
               INTO CORRESPONDING FIELDS OF TABLE gt_bkpf
              WHERE belnr LIKE s_belnr
              AND   bukrs LIKE s_werks.
    IF NOT gt_bkpf[] IS INITIAL.
      SELECT * FROM bseg
          INTO CORRESPONDING FIELDS OF TABLE it_bseg
          FOR ALL ENTRIES IN gt_bkpf
          WHERE bukrs EQ gt_bkpf-bukrs
          AND   belnr EQ gt_bkpf-belnr
          AND   shkzg EQ 'S'.
    ENDIF.
    LOOP AT gt_bkpf.
      bktxt = gt_bkpf-bktxt.
      waers = gt_bkpf-waers.
      belnr = gt_bkpf-belnr.
      werks = gt_bkpf-bukrs.
      awkey = gt_bkpf-awkey.
      docno = awkey+0(10).
      cajo = awkey+10(4).
    ENDLOOP.
    LOOP AT it_bseg.
      dmbtr = it_bseg-dmbtr.
    ENDLOOP.
    IF s_werks EQ '65'.
      desc = 'JCBML - Heavy Equipments'.
    ENDIF.
    IF cajo EQ '0001'.
      desc1 = 'PETTY CASH PLANT II'.
    ENDIF.
    CALL FUNCTION 'SPELL_AMOUNT'
      EXPORTING
        amount    = dmbtr
        currency  = waers
        filler    = space
        language  = sy-langu
      IMPORTING
        in_words  = gv_amt_in_words
      EXCEPTIONS
        not_found = 1
        too_large = 2
        OTHERS    = 3.
    IF sy-subrc EQ 0.
      MOVE : gv_amt_in_words-word TO gv_word,
             gv_amt_in_words-decword TO gv_decword.
    ENDIF.
    CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
      EXPORTING
        formname                 = 'ZCASHRECPT'
    IMPORTING
       FM_NAME                  = FM_NAME
    EXCEPTIONS
       NO_FORM                  = 1
       NO_FUNCTION_MODULE       = 2
       OTHERS                   = 3
    IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    *CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
            EXPORTING  formname           = 'ZCASHRECPT'
                    variant            = ' '
                    direct_call        = ' '
            IMPORTING  fm_name            = lf_fm_name
            EXCEPTIONS no_form            = 1
                       no_function_module = 2.
    *v_vbeln = S_VBELN-low.
    CALL FUNCTION FM_NAME
      EXPORTING
        bktxt            = bktxt
        waers            = waers
        belnr            = belnr
        werks            = werks
        desc             = desc
        docno            = docno
        cajo             = cajo
        desc1            = desc1
        dmbtr            = dmbtr
        gv_word          = gv_word
      TABLES
        T_ZDEB           = it_bseg
      EXCEPTIONS
        formatting_error = 1
        internal_error   = 2
        send_error       = 3
        user_canceled    = 4
        OTHERS           = 5.
    IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.

    Hi Rakesh,
    Check two things
    1. Program tranpsorted to production without any error in request log.
    2. Smartform tranpsorted to production without any error in request log and without renaming / misspelling it.
    CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
    EXPORTING
    formname = 'ZCASHRECPT'
    IMPORTING
    FM_NAME = FM_NAME
    EXCEPTIONS
    NO_FORM = 1
    NO_FUNCTION_MODULE = 2
    OTHERS = 3
    IF sy-subrc <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    Also try to uncomment the Message id part and it will show some meaningful message.
    And to check whether actaually fucntion module is generated or not goto smartforms ->Smartform name -> Display -> Environment->Fucntion module name . if this is blank try to retransport smartform.
    Hope that helps.
    Regards
    Kapadia
    ***Assigning points is the way to say thanks in SDN.***

  • Function module not allowed: AFS_RETAIL_ARTMAS_IDOC_INPUT.

    Dear Expert,
       I have a problem when I use ALE. I found error message of inbound in target system have a error status 51. Function module not allowed: AFS_RETAIL_ARTMAS_IDOC_INPUT.
    message type is MATMAS. and i want to distribute Material master from 1 system to another system.
    Process code: AFSA
    This below is my config.
    Process code                         AFSA
    My process code Identification.
    Function module : AFS_RETAIL_ARTMAS_IDOC_INPUT
    Maximum number of repeats 0
    Object type                         IDOCARTMAS
    End event                           MASSINPUTFINISHED
    Object type                         IDOCARTMAS
    Start event                         INPUTERROROCCURRED
    End event                           INPUTFINISHED
    How to do this?
    thanks,
    Sak
    Edited by: Pongsak Ruangsongkhram on Dec 24, 2007 8:59 AM

    Pls make sure the following config in we42.
    Process code                         MATM                                                                               
    Function module                     IDOC_INPUT_MATMAS01 IDOC_INPUT_MA      
    Maximum number of repeats                                                                               
    Object type                         IDPKMATMAS                             
    End event                           MASSINPUTFINISHED                                                                               
    Object type                         IDOCMATMAS                             
    Start event                         INPUTERROROCCURRED                     
    End event                           INPUTFINISHED                                                                               
    Object type                         BUS1001                                
    Start event                                                                               
    Cheers!

  • Creating BW Function module to extract R3 Function module data.

    Could you tell me how to create a BW Function Module to Extract data from  R/3 Function module?.
    Also, the BW function module needs to pass a date/time filter to R/3 function module basis which the R/3 function module passes the date/time restricted data to BW function module.
    Thanks,
    Gautam

    You will have to create a function module in R/3 and then call the same in BW using the RFC call function option.
    Please do not raise separate threads for each question - you have asked the same question in another post of yours..
    bw extraction using function module
    http://tinyurl.com/lwhtk8
    this will give you an idea on how you can achieve this.

  • SMQ2 SYSFAIL - Function Module not found

    Hi All,
    When i am trying to push data to cdb i got sysfail - Function module not found error in the smq2. But data inserted in the cdb, the probelm we found was the data object having the dependency cause this error.
    The data was there in the cdb, but no distribution entries found.
    Please help me to resolve the same.
    Regards,
    Ramkumar

    Hi,
    Clear the queue first (delete it), then implement the NOTE 1552255 - 'Parallel load problem for partial association shadow'. Run the report mentioned in the NOTE and  do a delta generation.
    Then on doin a delta load the queues should run successfully.
    regards,
    Anil

  • ALE-IDOC Error -Function module not allowed: ZIDOC_INPUT_MATCLASS

    Hello all,
    I am having a requirement to enhace bd10  to suit for material master.For that i have written a Z-function module to at inbound side.
    Function module has coading for extended segments and z processing code is created for the same.
    The issue is that i am getting error-Function module not allowed: ZIDOC_INPUT_MATCLASS.Please help to resolve the issue.
    Thank you.

    I have checked as per your suggestion in detail the error reported as-
    Function module not allowed: ZIDOC_INPUT_MATCLASS
    Message no. B1252
    Diagnosis
    The function module ZIDOC_INPUT_MATCLASS and the application object type which were determined are not valid for this IDoc.
    Procedure
    1. Please check that the process code in the inbound partner profile is correct.
    2. If this is the case, you should check the ALE inbound methods ALE inbound methods for the process code and see whether the specified function module and application object type are correct.
    3. If this is also the case, then the function module and the application object type are not permitted for the logical message type, message variant, message function and basis type that are contained in the IDoc control record. You should check whether the correct values have been assigned to these fields in the control record. If they do have the correct values, then the assignment to the function module and the application object type needs to be maintained.
    I am done with all the procedure.
    I am currently using-BUS1001006.I really dont know if this is the one for extended idocs and z function module for material master.Please guide me if this is the issue. And i f so please guide right buziness object.
    Thanks.
    Edited by: sanjivrd on Sep 22, 2009 1:27 PM

  • "Function module not allowed" error message

    Hi,
    We created a special FM to be processed when the INVOIC is in inbound processing. We link the FM to the process code and the process code to the partner functions. We get the error message; "Function module not allowed: & name of our FM". However, when we reprocess the idoc via WE19, it goes through.
    Did somebody ever face that situation?
    Thanks
    Martin

    Hi
    is it for MRM  .  If it is ,I faced the same Problem Martin .go to EDIFCT table give ur basic type and execute and check for entries .if there no issue other wise goto we57 and maintain the entry for basic type .

  • How to create a custom function module with the records in SAP R/3?

    Hi All,
    How to create a custom function module with the records in SAP R/3? Using RFC Adapter I have to fetch the custom function module records.
    Regards
    Sara

    Hi
    goto se37...here u need to create a function group... then u need to create a function module. inside assign import/export parameters. assign tables/exceptions. activate the same. now write ur code within the function module
    http://help.sap.com/saphelp_nw04/helpdata/en/9f/db98fc35c111d1829f0000e829fbfe/content.htm
    Look at the below SAP HELP links, These links will show you the way to create a Function Module
    http://help.sap.com/saphelp_nw04/helpdata/en/26/64f623fa8911d386e70000e82011b8/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/9f/db98fc35c111d1829f0000e829fbfe/content.htm

  • I just bought an iPhone 4s. Now the search iphone function is not working. When I swipe the screen to the left, the search box appears but when I type what I want to search for, there is no action. Please help.

    I just got an iphone 4s. Now the search iphone function is not working. When I swipe the start screen, the search box shows up. But when I type what I want to search, there is no action. Please help.

    Try this...
    You will Not Lose Any Data...
    Turn the Phone Off... ( if it isn’t already )
    Press and Hold the Sleep/Wake Button and the Home Button at the Same Time...
    Wait for the Apple logo to Appear and then Disappear...
    Usually takes about 15 - 20 Seconds... (But can take Longer...)
    Release the Buttons...
    Turn the Phone On...

  • Function Module not working for old Role

    Dears
    Function Module not working for old Role
    Function Module: /VIRSA/BAPI_AE_USERS_FOR_ROLES
    Before EHP4 upgrade this functional module working fine, but after updated users are not visible.
    We have chekced if the users are assigned directly users are visible but indirect (Position Based) assignment users are not apprearing.
    Pl check the fucntion module with given roles below and identify the root cause,
    EP_TRVL_ALL_CAB     - Old Role
    EP_TRN_TRVL_DRGC_V2 - New Role
    Regards
    Krishna Mohan CH
    9704500717

    Krishna,
    I do not think this BAPI is meant to be called by anyone but the application using it, and its functionality may therefore change without notice.
    What are you trying to achieve? Maybe there's a better way to do that...
    Frank.

  • How can I  call the function module of the ECC when I save the campaign?

    HI Experts!
    I want to call function module of the ECC when I click the save button in the campaign view,A badi or userexit is needed,but I don't find, can you tell me which badi or userexit  is used to implement?

    Thanks a lot.
    I have tried,but it can't do.
    who can tell me which badi and detailed implementation step?
    waiting on line.

  • Function module not allowed: IDOC_INPUT_INVOIC_MRM in 4.6C

    Hi All,
    I am working on SAP 4.6C, I am trying to post an idoc through WE19 and using message type INVOIC and basic type - INVOIC02. Also, we are using the process code - INVL which using the function IDOC_INPUT_INVOIC_MRM.
    While trying to post an MM Invoice after entering all the parameters in WE19, the IDoc in status 51.
    Also, the error message states that "Function module not allowed: IDOC_INPUT_INVOIC_MRM". Since it is a standard function module, I donu2019t know how to get to solve the problem.
    Thanks in advance.
    Regards,
    Nagarajan

    Hi Nagaraju ,
    Make Entries in WE57 . To make entries in this Take help of WE42-Inbound process code INVL .If u did not have the entries then it causes  this error .After logging ur entry Check in  table EDIFCT.
    Hope this helps .
    Rgds
    Sree . M

Maybe you are looking for