Function module call with destination

Hi,
how can check if a function module call with destination works or not ?
How can I debug.
What can be the reason if it is not calles
regards
ertas

* to chcek the rfc Destination By pass RFC destination name and Connection Type..
RFC_CHECK_DESTINATION
or
RFC_CHECK_DESTINATION_ID
or
You can use this FM RFC_VERIFY_DESTINATION if your release is greater than 4.6C.
Check this sample code from Craig Cmehil's weblog.
CALL FUNCTION 'RFC_VERIFY_DESTINATION'
  EXPORTING
    DESTINATION = TMP
        TIMEOUT = 10
  EXCEPTIONS
    INTERNAL_FAILURE           = 1
    TIMEOUT                    = 2
    DEST_COMMUNICATION_FAILURE = 3
    DEST_SYSTEM_FAILURE        = 4
    UPDATE_FAILURE             = 5
    NO_UPDATE_AUTHORITY        = 6
    OTHERS                     = 7.
  IF SY-SUBRC EQ '0'.
    "* Do code here
  ENDIF.
Prabhu

Similar Messages

  • Dynamic Function Module call with table parameter?

    Hi All,
    I'm trying to call FMs dynamically with PARAMETER-TABLE. These FMs are mainly about searching data from inputs and returning internal table as outputs. I managed to pass data into import parameters as query conditions, but still failed to set tables parameter. The code is like below, could you please help me check what's the problem? Thank you very much!!
    data: lv_val type RS38L_TYP value 'ls_service_para-fmparam'.
    data: lt_interface TYPE rsfbintfv,
               ls_import_para TYPE rsfbpara,
               ptab TYPE abap_func_parmbind_tab,
               ptab_line TYPE abap_func_parmbind,
               ref_wa type ref to data.
    Field-symbols: <fs> type any,
    CALL METHOD cl_fb_function_utility=>meth_get_interface
           EXPORTING
             im_name             = LV_FM          "FM name
           IMPORTING
             ex_interface        = lt_interface
           EXCEPTIONS
             error_occured       = 1
             object_not_existing = 2
             OTHERS              = 3.
    ***loop IMPORT parameters and fill in data from lt_params***
    loop at  lt_interface-import into ls_import_para.
         read table lt_params into ls_param with key key = ls_import_para-parameter.  "check if exists query value
        if sy-subrc = 0 and ls_param-value is not initial.
              assign (lv_val) to <fs>.
               <fs> = ls_param-value.
              create data ref_wa type (ls_import_para-STRUCTURE).
              assign ref_wa->* to <fs2>.
               <fs2> = <fs>.  UNASSIGN: <fs>,<fs2>.
               ptab_line-name = ls_import_para-PARAMETER.
               ptab_line-value = ref_wa.
               ptab_line-kind = abap_func_exporting.
              insert ptab_line into table ptab.
         endif.
    endloop.
    ***loop at TABLE parameters to retrieve data from FM***
    loop at lt_interface-TABLES into ls_import_para.
         create data ref_wa type (ls_import_para-STRUCTURE).
          ptab_line-tables_wa = ref_wa.     "set data type
          ptab_line-name = ls_import_para-PARAMETER.
          ptab_line-kind = abap_func_tables.
         insert ptab_line into table ptab. "if commented, no exception occurs,but I cannot get any dataset.
    endloop.
    CALL FUNCTION LV_FM PARAMETER-TABLE ptab.
    if I execute the code, when there has TABLES parameter defined in the FM, I get CX_SY_DYN_CALL_PARAM_MISSING exception with runtime error DATREF_NOT_ASSIGNED. But in debug mode, as shown in the screen shot attached, I did see the field TABLES_WA has correct type. So maybe I misunderstand the usage of PARAMETER-TABLE. Does anyone has experience on it?
    Best Regards,
    Jeff

    Hi Rama,
    Yes, I'm not passing value to the table parameter, but that parameter is where I want to retrieve data from FM, not pass value to, so I don't assign any value to ptab_line-value for that parameter.
    BTW, I just did some test to pass value to the parameter using the following code and still got CALL_FUNCTION_PARM_MISSING exception:
    FM: ZLEAD_CONTACT
    parameters:
    IMPORT:  I_PARTNER TYPE BUT000-PARTNER mandatory
    TABLES: OT_CONT LIKE ZLEAD_INFO_S optional (here ZLEAD_INFO_S is a flat structure)
    ptab_line-name = ls_import_para-PARAMETER.
    ptab_line-kind = abap_func_tables.
    create data ref_type type table of (ls_import_para-STRUCTURE).
    ptab_line-tables_wa = ref_wa.
    ptab_line-value = ref_type.
    The detail of ptab:
    VALUE
    TABLES_WA
    KIND
    NAME
    ->2000000025
    {A:initial}
    10
    2000000025
    ->Standard Table[0x10(588)]
    ->Structure: flat & not charlike
    30
    OT_CONT
    And the same error if I set parameter using below code:
    create data ref_wa type RS38L_TYP.
    assign ref_wa->* to <fs>.
    <fs> = ls_import_para-STRUCTURE.
    ptab_line-tables_wa = ref_wa.
    The detail of ptab:
    VALUE
    TABLES_WA
    KIND
    NAME
    ->2000000025
    {A:initial}
    10
    2000000025
    ->Standard Table[0x10(588)]
    ->ZLEAD_INFO_S
    30
    OT_CONT
    Regards,
    Jeff

  • Problem with function module calling

    Hi,
    I have two questions here
    i have a function moduel 'Z_GET_MATL_BALANCE'
    in my code it called in the below said way
    CALL FUNCTION 'Z_GET_MATL_BALANCE'
        DESTINATION 'NONE'
        STARTING NEW TASK 'A'
        PERFORMING f_back ON END OF TASK
        EXPORTING
          ref_dte    = s_datum-low
          str_dte    = s_datum-high
          end_dte    = s_datum-high
          i_werks    = p_werks
          i_past     = 'X'
          i_future   = 'X'
          verselem   = p_mrpver
          plscn      = p_scenar
          r_outrec   = r_outrec
          supstk     = p_supstk
          days_ahead = w_days_ahead
          shipnt     = p_shipnt
        TABLES
          mat_bals   = w_zmat_bals_a
          i_zdatum   = i_datum
          mat_movmts = w_mat_movmts_a
          mat_ship   = i_mat_ship_a.
      IF sy-subrc NE 0.
        MESSAGE e005(ZMIM) WITH
       text-009 text-166 text-054 sy-subrc.
      ENDIF.
    FORM f_back USING task.
      CASE task.
        WHEN 'A' .
          RECEIVE RESULTS FROM FUNCTION 'Z_GET_MATL_BALANCE'
         TABLES
              mat_bals                     = w_zmat_bals_a
              mat_movmts                   = w_mat_movmts_a
              mat_ship                     = i_mat_ship_a
           EXCEPTIONS
                call_material_lesen_fail     = 1
                call_t450n_fail              = 2
                call_t399d_fail              = 3
                call_aufbauen_mdpsx_fail     = 4
                call_mdezx_aufbauen_fail     = 5
                call_t001w_fail              = 6
                call_zmrpelem_failed         = 7
                call_aufbauen_mdpsx_sim_fail = 8
                OTHERS                       = 9.
          IF SY-SUBRC NE 0.
           RET_CODE1 = SY-SUBRC.
          ENDIF.
    now my first question is what is the difference between function modules calling normally and in the above said way
    and the second question is
    under tables parameter i have four internal tables defined where as while calling the same function module using recive results i have three internal tables. is this correct?
    i am asking this because i am getting an error message while using this funciton module
    please do not give generic answers, all the helpful answers will get a def reward

    Call function starting new task is used to make Asynchronus RFC Call. In this case your function module will be called in a NEW SESSION and it will exceute independently from the Main program which is calling the FM. Also, the main program will continue its own processing and it will not wait for the RFC FM to complete.
    Its not mandatory to have all the TABLES parameters in the RETURN Perform (..Receive results from ...)

  • Rfc function module call error

    Hi Abaper,
    I'm doing upgrade from 4.7 to ecc 6.0 currently and encounter problem in one of the rfc function module that we used. I've tested the connection to destination using sm59 and the connection is successful.
    As an information, in the rfc setting, the target system is not Unicode system.
    When I test using se37 and put the rfc destination in my function module call, I always encountered system_error exception. There's no issue with this rfc call before in 4.7 system.
    Please help me on this. Thank you.
    Edited by: Abraham Bukit on Sep 3, 2008 2:36 AM

    Hi,
    I had the same issue in the past and solved it in the following way.
    If the destination system is not Unicode please try to set the password for the communication user set in SM59 using only upper-case characters and taking into account that the password shouldn't be longer than 8 characters.
    Hope this will help.

  • Can a function module call another function module

    Can a function module call another function module:-
      within the same function group
    (ii)  within different function  groups

    Hi,
    We can call function from another function. If there is a function which is like a calculator and all the operations are from different functions then we have to call the functions from the calculator function for different functions.
    If all the function are from same function group, Then the data is globally available to all the functions with in the group.
    Otherwise we have to declare the data definitions for each of the functions if they are in different function groups.  
    Yes it is possible to call a function module from another function module:-
    within the same function group
    (ii) within different function groups
    Reward.

  • Dynamic function module call

    Hi,
    I need to call few function modules dynamically.The exporting and importing parameters are also known only at run time.
    Can somebody help me out in this regard,
    Thanks and regards,
    Archna

    hi ,
    Create Function module according to your requirment  and call the same 
    such as
    Create functi0n module   where you are passing PLant  runtime   and get data related to Plant 
    write  code in function according to requirment  .
    FUNCTION zrfc_test.
    ""Local interface:
    *"  IMPORTING
    *"     VALUE(ZWERKS) TYPE  MARC-WERKS OPTIONAL
    *"  EXPORTING
    *"     VALUE(RETURN) LIKE  BAPIRET2 STRUCTURE  BAPIRET2
    *"  TABLES
    *"      ZIT_DATA STRUCTURE  MARC
      IF zwerks IS NOT INITIAL.
        SELECT *
          FROM marc
          INTO CORRESPONDING FIELDS OF TABLE zit_data
         WHERE werks = zwerks .
      ELSE.
        SELECT *
          FROM marc
          INTO CORRESPONDING FIELDS OF TABLE zit_data.
      ENDIF.
      IF sy-subrc = 0 .
        MESSAGE ' Selected ' TYPE 'I' .
      ENDIF.
    ENDFUNCTION.
      Suppose  at runtime you get Plant  7100
    types : begin  of w_marc .
             include structure  marc  .
    types : end of w_marc .
    data : it_data type standard table of w_marc with header line  .
    p_plant  = 7100 .
    Call to function module 
    CALL FUNCTION 'ZRFC_TEST'
    EXPORTING
       ZWERKS         = 'p_plant 
    IMPORTING
      RETURN         =
      TABLES
        zit_data       =  it_data  .
    You will get result in it_data .
    Note : if you don't know how to create  Function Module then  search on SDN you will get lots of Forum  .
    Regards
    Deepak.

  • Idoc - Error Status 51: Incorrect function module called up

    Hi,
    In the receiver system for the custom message type, I got this error.
    Incorrect function module called up
    Can any one pls help me to solve this one.
    Regards,
    Bala Raja

    Hi Bala,
         Check the inbound function module attached to process code in receiving system. Generally in every inbound function module first check is coded for checking message type or for checking funciton module like below.In the receiving system go to WE20 and then select the partner and select inbound message type. in that double click on assigned process code.then you have to double click on displayed FM. In that fm check first few lines. You will find this error message.
    LOOP AT IDOC_CONTRL.
        IF IDOC_CONTRL-IDOCTP(6) <> 'DESADV'.
          MESSAGE ID 'E0' TYPE 'E' NUMBER '029'
          WITH IDOC_CONTRL-IDOCTP ' ' 'IDOC_INPUT_DESADV'
          RAISING WF_ERROR_PROCESS.
        ENDIF.
      ENDLOOP.
    Thanks & Regards,
    Kalyan.

  • Error while using Function module SPELL_AMOUNT with arabic language AR

    Hi ,
    When i am trying to convert the number to words, using function module SPELL_AMOUNT with arabic language(AR),following abend message is coming and FM is getting abended.
    Entry AR 0 1 in table T015Z does not have a delimiter (
    Can you please provide me how to overcome this error?
    Thanks & Regards
    Seshagiri.

    Hi Santosh,
    Thanks for quick inputs.
    And amount is not having any delimitors.
    I have checked in table T015Z and it has entries with AR as SPRAS.
    All entries are having ':' at the beginning of the arabic words,and there is no single entry with ';'.
    All entries with EN as SPRAS are having delimiters ';' at the end of the words.
    Numbers are correctly converted to words in english,but abending in arabic.
    Any idea please.
    Thanks & Regards
    Seshagiri.

  • Need to track Function modules called when executing a transaction

    Hi All,
              Is there a way through which i can track function modules called, while executing a Transaction. Kindly provide pointers to it.
    Thanks in advance.
    Regards,
    Navin.

    Goto SE80 Transaction and use Program name for corresponding Transaction Use Find operation like Call Function .. then you will get list of FM ..
    There is no other option .
    reward Points if it is helpful
    Thanks
    Seshu

  • ABAP Dump due to RFC Function module call in another thread

    Hi,
    I am facing some problem since yesterday. In one of my executable program I am calling a RFC fm as below mentioned    
    REPORT ZREPORT.
    CALL FUNCTION 'Z_XXXXXXXXX'
          STARTING NEW TASK L_NAME
          DESTINATION IN GROUP 'TASK'
          PERFORMING RETURN_INFO ON END OF TASK
          EXPORTING
            P_exp1       = l_emp
          TABLES
            R_VBELN      = r_it_vbeln
          EXCEPTIONS
            NO_DATA_TO_PROCESS = 1
            OTHERS             = 2.
    wait until v_task = 1.
    update ztable.
    Due to some data inconsistence one of the SAP function
    module which I am calling in my function module Z_XXXXXXXXX
    is generating dump with message type X. Since there is data inconsistence it is generating dump that's OK.
    But the problem i am getting is, report ZREPORT is generating dump at WAIT statement saying illegal statement even though I am calling that function module
    Z_XXXXXXXXX as a separate new task.
    Can somebody help me.
    Thanks,
    Amara.

    hi, Amara
    I agree with Rich said, and do a simulate test in my server, here is the analysis.
    Assume we have a RFC, like this:
    FUNCTION ZGZL_DUMPTEST.
    *"*"Local interface:
    *"  EXPORTING
    *"     VALUE(OUT) TYPE  I
    *"  EXCEPTIONS
    *"      CONVERT_FAIL
      data:a  type  i.
      a = 'A'.
    ENDFUNCTION.
    And call this RFC like you way:
    REPORT ZGZL_DUMPTEST .
    DATA:
      SEMAPHORE(1) VALUE SPACE,
      LC_OUT       TYPE  I.
    CALL FUNCTION 'ZGZL_DUMPTEST'
    STARTING NEW TASK 'DUMP'
    PERFORMING RETURN_INFO ON END OF TASK.
    WAIT UNTIL SEMAPHORE = 'X'.
    WRITE: 'OVER'.
    FORM RETURN_INFO USING TASKNAME.
      RECEIVE RESULTS FROM FUNCTION 'ZGZL_DUMPTEST'
              IMPORTING  OUT = LC_OUT.
      SEMAPHORE = 'X'.
    ENDFORM.                    " RETURN_INFO
    if we run the RFC in se37 directly, obviously it will occur a rumtime error CONVT_NO_NUMBER, and dump.
    But if we run the above application to call the RFC, we will get a different runtime error CALL_FUNCTION_REMOTE_ERROR.
    Error Analysis in ST22 like this:
    An error occurred when executing a REMOTE FUNCTION CALL.
    It was logged under the name "CONVT_NO_NUMBER"
    on the called page.
    I think that means the application receive the runtime error from RFC when call  <b>RECEIVE RESULTS</b>.
    In normal CALL FUNCTION, the external application will accept the rumetime error throw from FM, that's correct, because it let the caller can handle these runtime errors.
    In you case, you said RFC run in a new task, yes, that's true, so you can call the RFC like this:
    CALL FUNCTION 'ZGZL_DUMPTEST'
    STARTING NEW TASK 'DUMP'
    PERFORMING RETURN_INFO ON END OF TASK.
    WAIT UNTIL SEMAPHORE = 'X'.
    WRITE: 'OVER'.
    FORM RETURN_INFO USING TASKNAME.
      SEMAPHORE = 'X'.
    ENDFORM.                    " RETURN_INFO
    It will goes well, no dump. Why? because we don't use RECEIVE RESULT. RECEIVE RESULT will bring the result from FM, also bring the runtime error from FM.
    So if you want to call the FM and receive the result, handle the runtime error in FM inside at first.
    like this:
      CATCH SYSTEM-EXCEPTIONS CONVT_NO_NUMBER = 1.
        a = 'A'.
      ENDCATCH.
      IF SY-SUBRC = 1.
        RAISE CONVERT_FAIL.
      ENDIF.
    And then you call FM like this:
    CALL FUNCTION 'ZGZL_DUMPTEST'
    STARTING NEW TASK 'DUMP'
    PERFORMING RETURN_INFO ON END OF TASK.
    WAIT UNTIL SEMAPHORE = 'X'.
    WRITE: 'OVER'.
    FORM RETURN_INFO USING TASKNAME.
      RECEIVE RESULTS FROM FUNCTION 'ZGZL_DUMPTEST'
              IMPORTING  OUT = LC_OUT
              EXCEPTIONS CONVERT_FAIL = 1.
      SEMAPHORE = 'X'.
    ENDFORM.                    " RETURN_INFO
    That's will be ok for your scenario.
    Hope my reply is useful.
    thanks

  • Debug a FM call with DESTINATION

    Hi,
    how it is possible to debug a Function Module
    which is called in the BACKEND (with DESTINATION ).
    If I set a breakpoint in the backend and call the FM frem outside (SAP SRM)
    the debugger doesn't stop there.
    Regards
    ertas

    in se38 goto utilites
    settings ->debugging then in the field user give the id by which you are logging in your srm application
    Then in se38 wherever you want to put a break point press ctrl shift f9 to set a external breakpoint
    Then run your srm application with the same user id
    It will stop now
    hope it helps
    bhanu

  • Function module called within a loop seems to carry over global data

    Hello all,
    I am calling FM "RS_COVERPAGE_SELECTIONS" inside of a loop of all variants for a program and then writing the variant values to spool.  If only one variant is entered on the selection screen, all the values are correct.  If nothing is entered, some of the variant values are carried over from a previous variant.  I am emptying the internal table returned by the FM every time before the FM executes.
    Would some one be willing to run the following code for a program with many screen fields and many variants and tell me if they get the same behavior?
    Thanks
    Bruce
    REPORT zzzz.
    tables: varid, varit.
    parameters:     p_pgm type progname obligatory default 'ZFAPI004'.
    select-options: s_var for varid-variant.
    parameters: p_varval as checkbox default 'X'.
    data: begin of reptab occurs 0,
            report like varid-report,
            variant like varid-variant,
            ename like varid-ename,
            edat like varid-edat,
            etime like varid-etime,
            aename like varid-aename,
            aedat like varid-aedat,
            aetime like varid-aetime,
            vtext like varit-vtext,
          end of reptab.
    data: begin of tab_sel_options occurs 0,
                            flag(1) type c,
                            olength type x,
                            line  like rsvar-infoline,
                          end of tab_sel_options.
    *>> At Selection-Screen data items <<
    data: w_pgm like sy-repid.
    data: itab like rseui_f4 occurs 0 with header line.
    data: dyname like d020s-prog value sy-repid,
            dynumb like d020s-dnum value '1000'.
    data: begin of dynpfields occurs 3.
            include structure dynpread.
    data: end of dynpfields.
    data: w_tabix    like sy-tabix.
    data: begin of i_var occurs 0,
              variant like varit-variant,
              vtext   like varit-vtext.
    data: end of i_var.
    start-of-selection.
      format intensified on.
      write: / p_pgm.
      select * from varid
        where report = p_pgm
          and variant in s_var.
        select single * from varit
          where langu = 'E' and report = p_pgm
            and variant = varid-variant.
        move-corresponding varid to reptab.
        move-corresponding varit to reptab.
        append reptab.
      endselect.
      sort reptab by variant.
      skip 1.
      format color col_heading.
      write: /03 'Variant',
              18 'Create',
              47 'Modify',
              76 'Description'.
      format color off.
      skip 2.
      loop at reptab.
        format color col_total.
        write: /3 reptab-variant,
                 reptab-ename(8),
                 reptab-edat,
                 reptab-etime,
                 reptab-aename(8),
                 reptab-aedat,
                 reptab-aetime,
                 reptab-vtext.
        format color off.
        skip 1.
        if p_varval = 'X'.
          clear   tab_sel_options.     " header
          refresh tab_sel_options.     " lines
          call function 'RS_COVERPAGE_SELECTIONS'
            exporting
              report            = reptab-report
              variant           = reptab-variant
              no_import         = ' '
            tables
              infotab           = tab_sel_options
            exceptions
              error_message     = 1
              variant_not_found = 2
              others            = 3.
          loop at tab_sel_options.
            if sy-tabix < 7.
              continue.
            endif.
            write: / tab_sel_options-line.
          endloop.
          skip 1.
        endif.  "  p_varval = 'X'.
      endloop.

    Hi
    Try using the function module PRINT_SELECTIONS, within this FM, the FM RS_COVERPAGE_SELECTIONS is being called. So it will not copy the previous values.
    Pass Mode as 'A' , report name and variant name, then it will display the same output.
    Please try it
    Shiva

  • RFC remote function module call from XI

    hi
    I am trying to call a remote function module directly from XI which is not a bespoke module.
    And i am getting the following error:
    com.sap.aii.af.ra.ms.api.DeliveryException: error while processing message to remote system:com.sap.aii.af.rfc.core.client.RfcClientException: failed to parse BAPI response due to: com.sap.aii.af.rfc.util.bapi.BapiException: Parameter with name RETURN not found.
    Please help me in this.
    Thanks in advance.

    Hi Naina,
    Normally RFC are synchronous, they do have return parameter as export parameter.
    If return parameter is missing then , you can create Wrapper RFC.
    Wrapper RFC:
    It is nothing but you just  create BAPI in SE37 transaction with Return parameter as export parameter and make it remote enabled by clicking on Radio button.
    Under source code, CALL BAPI which XI has to call.
    Thats it!
    I hope this helps.
    Let me know if any help required.

  • Function Module Call CONVERT_OTF_AND_FAX

    Hi,
    Could someone please explain how to use this FM, it is unable to generate a fax for me and I always get a conversion error in SOST, following is the code. I have searched this forum and internet and usage in standard SAP includes but still could not find a good example for this function module with all the parameters explained.
    So far I was able to get till this point, please let me know if I am missing anything -
    REPORT y_bcs_example_6.
    DATA:it_otf LIKE soli OCCURS 0 WITH HEADER LINE.
    DATA: la_fax  TYPE itcpp,
          l_faxok,
          lt_otf  TYPE TABLE OF itcoo.
    la_fax-tddevice = 'TELEFAX'.
    la_fax-tdgetotf = 'X'.
    la_fax-tdcover  = space.
    la_fax-tdimmed  = 'X'.
    la_fax-tdteleland = 'US'.
    la_fax-tdtelenum  = 'XXX-XXX-XXXX'.
    CALL FUNCTION 'RSPO_RETURN_SPOOLJOB'
      EXPORTING
        rqident              = '81228'
        desired_type         = 'OTF'
      TABLES
        buffer               = it_otf
      EXCEPTIONS
        no_such_job          = 1
        job_contains_no_data = 2
        selection_empty      = 3
        no_permission        = 4
        can_not_access       = 5
        read_error           = 6
        type_no_match        = 7
        OTHERS               = 8.
    CALL FUNCTION 'CONVERT_OTF_AND_FAX'
      EXPORTING
        faxoptions         = la_fax
        user               = sy-uname
    IMPORTING
       fax_ok             = l_faxok
    *   OFFICE_OBJID       =
    *   MSGID              =
    *   MSGNO              =
    *   MSGV1              =
    *   MSGV2              =
    *   MSGV3              =
    *   MSGV4              =
      TABLES
        otf                =  it_otf
    COMMIT WORK.

    I have found that I cannot publish a spool to any printer and expect CONVERT_OTFAND_FAX to do the OTF conversion and fax. Only some specific printers can be used for FAX ( I am still a bit fuzzy on how this works), I used LP01 to generate the spool and then used the function module CONVERT_OTF_AND_FAX to generate the output.
    The following code worked -
    DATA: it_otf LIKE soli OCCURS 0,
          la_fax  TYPE itcpp,
          l_faxok.
    la_fax-tddevice = 'TELEFAX'.
    la_fax-tddest   = 'LP01'.
    la_fax-tdcopies = 1.
    la_fax-tdgetotf = ''.
    la_fax-tdcover  = space.
    la_fax-tdimmed  = 'X'.
    la_fax-tddelete = 'X'.
    la_fax-tdteleland = 'US'.
    la_fax-tdtelenum  = 'XXX-XXX-XXXX'.
    CALL FUNCTION 'RSPO_RETURN_SPOOLJOB'
      EXPORTING
        rqident              = XXXX
        desired_type         = 'OTF'
      TABLES
        buffer               = it_otf
      EXCEPTIONS
        no_such_job          = 1
        job_contains_no_data = 2
        selection_empty      = 3
        no_permission        = 4
        can_not_access       = 5
        read_error           = 6
        type_no_match        = 7
        OTHERS               = 8.
    CALL FUNCTION 'CONVERT_OTF_AND_FAX'
      EXPORTING
        faxoptions         = la_fax
        user               = sy-uname
    IMPORTING
       fax_ok             = l_faxok
      TABLES
        otf                =  it_otf
    COMMIT WORK.

  • Function Module Call Via CMOD Logic for Master Data Enhancement

    Hi Friends Please help me to resolve this, would really be very kind of all of you.
    Requirement. I want to Enhance the field ZFACTREG from VIBDBE table in my datasource 0busentity_attr extract structure l_s_REIS_BUSENTITY_ATTR, I want to create the logic in CMOD exit_saplrsap_002 to call my function module for enhancement of master data. Please help me Step by Step
    Thanks
    Poonam Roy
    <b>Step #1</b>
    I put this code which gives me error in CMOD like this
    ERROR : Das formale Argument 'OTHERS' muss am Schluss der Ausnahmeliste stehen.
    ABAP Code#1 IN exit_saplrsap_002     
    DATA: l_d_fmname(30) TYPE c.
    CONCATENATE 'Z_DS_' i_datasource(25) INTO l_d_fmname.
    TRY.
    CALL FUNCTION l_d_fmname
    EXPORTING
    I_DATASOURCE = I_DATASOURCE
    I_UPDMODE = I_UPDMODE
    TABLES
    I_T_SELECT = I_T_SELECT
    I_T_FIELDS = I_T_FIELDS
    I_T_DATA = I_T_DATA
    C_T_MESSAGES = C_T_MESSAGES
    EXCEPTIONS
    RSAP_CUSTOMER_EXIT_ERROR = 1
    OTHERS = 2
    IF FOUND.
    IF SY-SUBRC <> 0.
    RASIE RSAP_CUSTOMER_EXIT_ERROR.
    END IF
    CATCH CX_SY_DYN_CALL_ILLEGAL_FUNC.
    ENDTRY.
    <b>Step#2</b>
    I simple created the Function module Z_DS_BUSINESS
    and put the code in source code  which gives me error . what should i put in other tabs like"Import", Export", Tables" i kept blank
    ABAP CODE give me error : The Dictionary structure or table "FIELD-SYMBOLS" is either not active. i have to remove include in the FM. WHY SO??
    FUNCTION Z_DS_BUSINENSS
    ""Lokale Schnittstelle:
    *"       IMPORTING
    *"             VALUE(I_DATASOURCE) TYPE  RSAOT_OLTPSOURCE
    *"             VALUE(I_CHABASNM) TYPE  SBIWA_S_INTERFACE-CHABASNM
    *"             VALUE(I_UPDMODE) TYPE  SBIWA_S_INTERFACE-UPDMODE
    *"       TABLES
    *"              I_T_SELECT TYPE  SBIWA_T_SELECT
    *"              I_T_FIELDS TYPE  SBIWA_T_FIELDS
    *"              I_T_DATA
    *"              C_T_MESSAGES STRUCTURE  BALMI OPTIONAL
    *"       EXCEPTIONS
    *"              RSAP_CUSTOMER_EXIT_ERROR
    INCLUDE ZXRSAU02.
      WRITE: / 'INSIDE THE Z_DS_MEASUREMENTS PROGRAM'.
    TABLES: REIS_BUSENTITY_ATTR,
            VIBDBE,
    field-symbols:.<fs_REIS_BUSENTITY_ATTR> like REIS_BUSENTITY_ATTR.
    DATA: BEGIN OF i_c_t_data OCCURS 0.
              include structure REIS_BUSENTITY_ATTR.
    DATA END OF i_c_t_data.
    DATA: i_c_t_data_copy like i_c_t_data OCCURS 0 WITH HEADER LINE,
          begin of i_vibdbe occurs 0,
          INTRENO like vibdbe-INTRENO,
          ZFACTREG like vibdbe-ZFACTREG,
                  end of i_vibdbe.
    i_c_t_data_copy[] = i_c_t_data[] = c_t_data[].
    sort i_c_t_data_copy by vibdbe.
    Select  INTRENO
            into table i_VIBDBE from VIBDBE
            for all entries in i_c_t_data_copy
            where  INTRENO = i_c_t_data_copy- INTRENO.
    if sy-subrc = 0.
      sort i_VIBDBE by INTRENO.
      loop at i_c_t_data assigning <fs_REIS_BUSENTITY_ATTR>.
        clear: i_VIBDBE.
        read table i_VIBDBE with key INTRENO = <fs_REIS_BUSENTITY_ATTR>-INTRENO
        BINARY SEARCH
        transporting ZFACTREG .
        if sy-subrc = 0.
          <fs_REIS_BUSENTITY_ATTR>-ZZFACTORY = i_vibebe-ZFACTREG
        endif.
    null

    (I leave office until Monday morning, Europe time)
    in include from customer-exit ZXRSAU01, etc.
    CASE I_DATASOURCE.
    WHEN '0CUSTOMER_ATTR'.
       PERFORM 0customer_attr changing i_t_data...
    ENDCASE.
    In each perform, doing what you wrote ; select (needed fields) from complementary-database-table into an internal table with a for all entries. sort the table. LOOP and MODIFY on i_t_data.
    In some case i had to insert lines of i_t_data to an internal table of DS_structure when entering subroutine and back at exit. (on 4.6C PI 2003 if i remember)
    Some optimization done when reading small tables (T001 society and the same, these are filled once and not for each packet of data.
    Your idea of creating different FM is of interest, but the cost of passing i_t_data between two programs (two function groups) may overcome the gain of performance. In a job only one DataSource is processed so only one routine is actually called.
    Regards.

Maybe you are looking for

  • Help with Youtubevideo which doesn't work in internetexplorer

    Hi there, I'd tried to implement a youtube video  guided by this :  http://www.heathrowe.com/adobe-edge-preview-4-append-youtube-video/ It worked fine  in firefox and chrome  but  it doesn't work in internetexplorer :-( Is there a way to modify the c

  • How to get 8MM movies onto Imac?

    I have a new Imac and an old Sony Digital 8 Handycam.  Model TRV530.  I have connected via firewire to the Thunderbolt Port on the Imac.  The Imac is not seeing the camera at all?  Any suggestions?

  • IB52 Enhacement - Locating Modified Component

    Hello, I am developing enhancement to IB52 transaction. Whenever user changes business partner of component and click on save. I need to identify which component is modified and update corresponding components contracts business partner. I have modif

  • CreateOsCol error: SCS Java Add-In installation to ABAP on ERP 6.0 SR3

    Hi there, I got an error while installing SCS Java Add-in to ABAP on ERP 6.0 SR3. Do you have any ideas for this issue? sapinst.log INFO 2010-06-04 16:54:35.109 Execute step createOsCol of component |NW_Addin_SCS|ind|ind|ind|ind|0|0|NW_SCS_Instance|i

  • MPD segfaults on mpd --create-db (MODs)

    MPD segfaults on random mod-files when I'm doing mpd --create-db added Music_2/Keygens/DBH - Absolute Patience 3.2kg.mod added Music_2/Keygens/ACME - sevLockkg.xm [1] 13144 segmentation fault \mpd --create-db mpd[13145]: segfault at a ip b7992e20 sp