Plain call function versus destination 'none'

we have an RFC enabled function module which is being used as an rfc by external calls but is also used within the same sap system as a conventional function mdoule.
Currently the call in the same sap system uses a DESTINATION 'NONE' clause and I have noticed that in the SE30 Runtime analysis there is sometimes an expensive 'WAIT for RFC' against this function module call.
Can I simply remove the DESTINATION 'NONE'  clause or is there a good reason for it being there?
Will a call without the clause always be more efficient than one with it or is there no difference?

Currently the call in the same sap system uses a DESTINATION 'NONE' clause and I have noticed that in the SE30 Runtime analysis there is sometimes an expensive 'WAIT for RFC' against this function module call.
I wish I had a running SAP system to quickly test this. Did you enable also profiling of RFC calls in SE30? Couldn't the trivial reason just be that the function module takes some time and since it's a synchronous calls the calling program has to wait for it to return?
Can I simply remove the DESTINATION 'NONE' clause or is there a good reason for it being there?
Well, I'd be really careful and first make sure that I understand why somebody put it there. Note that an RFC call is executed in it's own context (e.g. see comments in ABAP online documentation on [RFC destination|http://help.sap.com/abapdocu_70/en/ABENRFC_DESTINATION.htm]), so if that was the reason why the destination 'NONE' was introduced you probably shouldn't change it.
Also, a [synchronous RFC call|http://help.sap.com/abapdocu_70/en/ABAPCALL_FUNCTION_DESTINATION.htm] triggers an implicit database commit. In theory a program shouldn't rely on that, but I've seen my fair share of programs where developers were not aware of some side effects (and actually relied on them).
Or how about a funky setup where your RFC module actually has coding to call the original system back (i.e. usage of RFC destination 'BACK'); so removing the 'NONE' should cause trouble in this case as well...
There's probably lots of other possible traps once you start thinking about it. Most likely they are not relevant, but it definitely helps a lot if you can judge the skill set of the programmer who introduced this possibly unnecessary  RFC call...
As far as performance is concerned I doubt that you'd gain much if it's a synchronous RFC (and the function module runs for some time and is not executed tons of times). Note though that RFC calls are limit to some stricter resource management (e.g. they can be controlled via quite a few profile parameters), so your RFC might timeout due to lack of resources, where your direct function call wouldn't do that. But if your RFC does some substantial work I doubt that the overhead for the RFC calls will be measurable.
Cheers, harald

Similar Messages

  • Call function..Destination

    Hi Experts,
    My requirement is to call a RFC Java function in SAP. The Java function is an encryption function which has 4 parameters (Password, Message, Strength128, Strength256). I need to pass the data for the parameters from SAP to JAVA. With the help of SDN, I tried to call this function in ABAP. A destination named 'INTEGRATION' is created in SM59, with the registered Program ID 'ASEncryptionHelper'. ASEncryptionHelper is the Java function name and the program ID is registered with this name only. The following is the code I wrote in my report
    DATA: XPASS TYPE STRING.
    XPASS = 'PASS'.
    CALL FUNCTION 'ASENCRYPTIONHELPER' DESTINATION 'INTEGRATION'
      EXPORTING
        PASSWORD          = XPASS
        MESSAGE             = XML_RESULT
        STRENGTH128       = ' '
        STRENGTH256       = 'X'
    I have created a RFC function module in my SAP system with the name ASENCRYPTIONHELPER
    FUNCTION ASENCRYPTIONHELPER.
    ""Local Interface:
    *"  IMPORTING
    *"     VALUE(PASSWORD) TYPE  STRING
    *"     VALUE(MESSAGE) TYPE  STRING
    *"     VALUE(STRENGTH128) TYPE  BOOLEAN
    *"     VALUE(STRENGTH256) TYPE  BOOLEAN
    ENDFUNCTION.
    When I execute the program I get a runtime error "Bean ASENCRYPTIONHELPER not found on host HOSTNAME".
    I am not able tofigure out the exact problem.
    Also I wanted to know whether the way I am coding is right. Do I need to create a RFC function module in SAP also as I did above?
    Does the Uppercase of the function 'ASENCRYPTIONHELPER' matter? In SM59 the program id is mentioned as 'ASEncryptionHelper'.
    I tried to change the function name with 'ASEncryptionHelper' in the CALL FUNCTION, but then I get another error, "JCO.Server could not find server function 'ASEncryptionHelper' '. What is wrong? I am confused.
    Please guide.
    Thanks
    Anu.

    Hi,
    I didn't get your requirement wxatly but you can do as below,
    What I am assuming is you have a java batch file at your desktop and you want to encrypt the file through this batch file execution from SAP.
    Now to execute the batch file at runtime and to pass data at runtime you can use below function module
    W_RFCENCRY = 'C:\Encrypt\enc.exc C:\Encrypt\test.txt'.
    W_RFCDEST = 'ZRFC'.
    CALL FUNCTION 'RFC_REMOTE_PIPE'
          DESTINATION W_RFCDEST
          EXPORTING
            COMMAND               = W_RFCENCRY
          EXCEPTIONS
            COMMUNICATION_FAILURE = 1
            SYSTEM_FAILURE        = 2
            OTHERS                = 4.
    Here ZRFC is the RFC created in SM59 as below
    1) select TCP/IP and create ZRFC
    in program option type as below C:\RfcSdk\bin\rfcexec.exe
    Note: RFCDSK folder is required to execute the batch file at your workstation at path specified as above
    2) In activation type select start on front end work station radio button.
    Now save the RFC and check the connection, same will be there if RFC SDK folder is available as specified in the program option
    In W_RFCENCRY give the inputs that you want to pass with the batch file.
    here I have mentioned as 'C:\Encrypt\enc.exc C:\Encrypt\test.txt'. in the program where C:\Encrypt\enc.exc is the path for batch file and C:\Encrypt\test.txt is the path of the file on the work station which is to be encrypted.
    Hope this will help you, I think at your end batch file can be different and inputs to be passed in the batch file can also be different.

  • Remote call function and destination

    Hi all @SAPforums,
    I used to call remotely a custom function, in a report, from many backends:
    CALL FUNCTION ZFOO destination mydest
    where mydest is a string containing the name of an RFC destination.
    My question is: is there a way, on the destination machine, to get the name/id of the "caller" ?
    The question arises from this task: I have to use the caller ID in a WHERE clause of a SELECT statement I have to write in ZFOO. I can - of course - pass the caller ID by adding a new parameter to the function, but this would make necessary a change on the CALL FUNCTION in every backend (quite expensive task, in terms of time). So if it's possible, from the callee, to get the name of the caller, I could just modify the function leaving the calls in every backend as they are.
    Thanks in advance

    >
    Matteo Montalto wrote:
    > Hello Wolfgang,
    > sorry for the stupid question... what does "destination" stands for?
    > Thanks for the help
    Hi ,
    they are two types of RFC calling is ther..
    1......
    CALL FUNCTION "function0module-name' DESTINATION "DEST" 
    --that means you are picking data from another r/3 sytem using detination from 'DEST'..
    2....
    CALL FUNCTION "function0module-name' IN BACKGROUND TASK DESTINATION "DEST" 
    --that means you are sending data to another r/3 sytem or any other sytem XI or and EDI
    using detination from 'DEST'..
    for 1 and 2..
    --go to t-code SM59 and see the DEST what type of connection is and what system it is connected..
    Regards,
    Prabhudas

  • Call Function using DESTINATION

    Hi there!
    Abapers, I'm needing some help here with RFCs.
    My destinations (SM59):
    ERP_100
    ERP_120
    ERP_130
    PI_200
    PI_300
    I have to call a function in PI from ERP. I'm doing in this way:
    CALL FUNCTION 'pi_function_module' DESTINATION 'PI_200' ...
    It's working. But the destination can not be hard coded. With the program in ERP_100 (DEV) and ERP_120 (QAS) the destination is PI_200 (PI DEV) and with the program in ERP_130 (PRD) the destination is PI_300 (PI PRD).
    How can I handle this?
    Thanks in advance!
    Best regards,
    Charles

    Hi Charles,
    Refer [this|Re: Deciding RFC destination dynamically; thread.
    I quote the last post by Micky Oestreich - "This solely depends on the naming conventions you are using. Since the name of the RFC destination is arbitrary, there is 'no' way of determining the name of the destination."
    So, your design approach could either be by building a customizing table where you maintain the destination values or use a 'CASE' statement in your code before calling the remote function module....something like:
    DATA:
      lv_own_system  TYPE logsys,
      lv_rfcdest     TYPE rfcdest.
    CALL FUNCTION 'OWN_LOGICAL_SYSTEM_GET'
      IMPORTING
        own_logical_system             = lv_own_system
      EXCEPTIONS
        own_logical_system_not_defined = 1
        OTHERS                         = 2.
    IF sy-subrc NE 0.
      MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
              WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.
    CASE lv_own_system.
      WHEN 'ERP_100' or 'ERP_120'.
         lv_rfcdest = 'PI_200'.
      WHEN 'ERP_130'.
        lv_rfcdest = 'PI_300'.
      WHEN OTHERS.
    ENDCASE.
    "Now call the remote function
    CALL FUNCTION 'pi_function_module' DESTINATION lv_rfcdest ...
    Hope this helps,
    Cheers,
    Sougata.

  • Short Dump on BAPI_TRANSACTION_COMMIT with destination NONE

    Hi All
    I am using SAP-PM with Compatible Unit(CU) functionality in ECC6 environment.
    After we release the CU design to Generate order we get SHORT DUMP.
    Any help will be of great help.
    I am pasting the details from the dump file here.
    Please let me know.
    Appretaite your help.
    Thanks
    Meghana
    Runtime Errors         CALL_FUNCTION_REMOTE_ERROR
    Date and Time          27.08.2007 18:01:10
    Short text
    "The current application triggered a termination with a short dump."
    What happened?
    Error in the ABAP Application Program
    The current ABAP program "/***/SAPLCUORDER_N" had to be terminated because it
    has
    come across a statement that unfortunately cannot be executed.
    The error occurred during an RFC call to another system.
    In the target system, a short dump has been written as well.
    More detailed information on the error cause can be found there.
    What can you do?
    Note down which actions and inputs caused the error.
    To process the problem further, contact you SAP system
    administrator.
    Using Transaction ST22 for ABAP Dump Analysis, you can look
    at and manage termination messages, and you can also
    keep them for a long time.
    Error analysis
    An error occurred when executing a REMOTE FUNCTION CALL.
    It was logged under the name "MESSAGE_TYPE_X"
    on the called page.
    How to correct the error
    Please refer to the notes described in the
    short dump.
    System environment
    SAP-Release 700
    Application server... "MB1ES1005"
    Network address...... "10.191.97.206"
    Operating system..... "Windows NT"
    Release.............. "5.2"
    Hardware type........ "2x Intel 801586"
    Character length.... 16 Bits
    Pointer length....... 32 Bits
    Work process number.. 3
    Shortdump setting.... "full"
    Database server... "MB1ES1005"
    Database type..... "ORACLE"
    Database name..... "EC6"
    Database user ID.. "SAPSR3"
    Char.set.... "C"
    SAP kernel....... 700
    created (date)... "Jul 25 2007 00:57:05"
    create on........ "NT 5.0 2195 Service Pack 4 x86 MS VC++ 13.10"
    Database version. "OCI_10201_SHARE (10.2.0.1.0) "
    Patch level. 121
    Patch text.. " "
    Database............. "ORACLE 9.2.0.., ORACLE 10.1.0.., ORACLE 10.2.0.."
    SAP database version. 700
    Operating system..... "Windows NT 5.0, Windows NT 5.1, Windows NT 5.2, Windows
    NT 6.0"
    Memory consumption
    Roll.... 8176
    EM...... 14633136
    Heap.... 0
    Page.... 131072
    MM Used. 5005432
    MM Free. 1263944
    User and Transaction
    Client.............. 200
    User................ 10086330
    Language key........ "E"
    Transaction......... "/***/DESIGN "
    Transactions ID..... "409954DC5D77F1C58E2D0013725D3B3B"
    Program............. "/***/SAPLCUORDER_N"
    Screen.............. "/***/SAPLCUORDER_N 2000"
    Screen line......... 34
    Information on where terminated
    Termination occurred in the ABAP program "/***/SAPLCUORDER_N" - in
    "SAVE_DESIGN".
    The main program was "/***/SAPLCUORDER_N ".
    In the source code you have the termination point in line 594
    of the (Include) program "/***/LCUORDER_NF07".
    Source Code Extract
    Line
    SourceCde
    564
    ENDIF .
    565
    ENDLOOP .
    566
    IF l_ret-type = 'E' OR
    567
    l_ret-type = 'A' .
    568
    CLEAR: save_okcode .
    569
    570
    Show Messages
    571
    CALL FUNCTION '/***/N_LOG_ADD_MSG'
    572
    EXPORTING
    573
    i_log_type = 'G'
    574
    TABLES
    575
    t_ret      = t_ret.
    576
    PERFORM log_order_create_show  .
    577
    Show first Message
    578
         MESSAGE ID l_ret-id TYPE l_ret-type NUMBER l_ret-number
    579
         WITH
    580
           l_ret-message_v1 l_ret-message_v2
    581
           l_ret-message_v3 l_ret-message_v4.
    582
    CALL FUNCTION '/***/N_DESIGN_INIT' .
    583
    ELSE .
    584
    IF g_design_mode = con_mode_crea.
    585
    Need to update DMS documents with real design number
    586
    PERFORM document_prepare_002 USING con_desnum_tmp_1
    587
    lv_desnum.
    588
    ENDIF.
    589
    Commit design BAPI's
    590
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' .
    591
    592
    IF save_okcode = con_order.
    593
    Commit order BAPI's
    >>>>>
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
    595
    DESTINATION 'NONE'.
    596
    597
    call of fct. RFC_CONNECTION_CLOSE is important to get a new
    598
    initial roll area with initial internal tables next time
    599
    CALL FUNCTION 'RFC_CONNECTION_CLOSE'
    600
    EXPORTING
    601
    destination          = 'NONE'
    602
    EXCEPTIONS
    603
    destination_not_open = 1
    604
    OTHERS               = 2.
    605
    ENDIF.
    606
    607
    IF lv_desnum IS INITIAL .
    608
    lv_desnum = /***/cudesign-desnum .
    609
    ENDIF .
    610
    SET PARAMETER ID '/***/DESNUM' FIELD lv_desnum .
    611
        Changes saved
    612
    MESSAGE ID '/***/MSG' TYPE 'S' NUMBER '529' WITH lv_desnum .
    613
    ENDIF .
    Contents of system fields
    Name
    Val.
    SY-SUBRC
    0
    SY-INDEX
    0
    SY-TABIX
    1
    SY-DBCNT
    1
    SY-FDPOS
    0
    SY-LSIND
    0
    SY-PAGNO
    0
    SY-LINNO
    1
    SY-COLNO
    1
    SY-PFKEY
    2000
    SY-UCOMM
    CU01
    SY-TITLE
    Change Design: 50000109
    SY-MSGTY
    X
    SY-MSGID
    00
    SY-MSGNO
    341
    SY-MSGV1
    MESSAGE_TYPE_X
    SY-MSGV2
    SY-MSGV3
    SY-MSGV4
    SY-MODNO
    0
    SY-DATUM
    20070827
    SY-UZEIT
    180110
    SY-XPROG
    SAPMSSY1
    SY-XFORM
    XAB_READ
    Active Calls/Events
    No.   Ty.          Program                             Include                             Line
    Name
    4 FORM         /***/SAPLCUORDER_N                  /***/LCUORDER_NF07                    594
    SAVE_DESIGN
    3 FORM         /***/SAPLCUORDER_N                  /***/LCUORDER_NF07                   2616
    CHECK_AND_SAVE_F07
    2 FORM         /***/SAPLCUORDER_N                  /***/LCUORDER_NF04                    311
    USER_COMMAND_D2000
    1 MODULE (PAI) /***/SAPLCUORDER_N                  /***/LCUORDER_NI05                     28
    USER_COMMAND_2000
    Chosen variables
    Name
    Val.
    No.       4 Ty.          FORM
    Name  SAVE_DESIGN
    %_DUMMY$$
    2222
    0000
    0000
    0000
    CL_GUI_RESOURCES=>COL_TEXTAREA
    31
    1000
    F000
    G_DESIGN_MODE
    R
    5
    2
    0
    0
    CON_MODE_CREA
    I
    4
    9
    0
    0
    GT_NODE_CUI
    Table[initial]
    SY-REPID
    /***/SAPLCUORDER_N
    2454254544545445542222222222222222222222
    F35DF310C35F2452FE0000000000000000000000
    0000000000000000000000000000000000000000
    0000000000000000000000000000000000000000
    CON_DESNUM_TMP_1
    TM00000001CY
    543333333345
    4D0000000139
    000000000000
    000000000000
    LV_DESNUM
    222222222222
    000000000000
    000000000000
    000000000000
    SAVE_OKCODE
    CU01
    4533222222222222222222222222222222222222222222222222222222222222222222
    3501000000000000000000000000000000000000000000000000000000000000000000
    0000000000000000000000000000000000000000000000000000000000000000000000
    0000000000000000000000000000000000000000000000000000000000000000000000
    CON_ORDER
    CU01
    4533222222222222222222222222222222222222222222222222222222222222222222
    3501000000000000000000000000000000000000000000000000000000000000000000
    0000000000000000000000000000000000000000000000000000000000000000000000
    0000000000000000000000000000000000000000000000000000000000000000000000
    SY-XPROG
    SAPMSSY1
    5454555322222222222222222222222222222222
    310D339100000000000000000000000000000000
    0000000000000000000000000000000000000000
    0000000000000000000000000000000000000000
    CON_DELETE
    LVMS
    4545222222222222222222222222222222222222222222222222222222222222222222
    C6D3000000000000000000000000000000000000000000000000000000000000000000
    0000000000000000000000000000000000000000000000000000000000000000000000
    0000000000000000000000000000000000000000000000000000000000000000000000
    No.       3 Ty.          FORM
    Name  CHECK_AND_SAVE_F07
    CL_GUI_ALV_GRID=>MC_MB_VIEW
    &MB_VIEW
    2445544522222222222222222222222222222222222222222222222222222222222222
    6D2F695700000000000000000000000000000000000000000000000000000000000000
    0000000000000000000000000000000000000000000000000000000000000000000000
    0000000000000000000000000000000000000000000000000000000000000000000000
    GT_OP
    Table IT_303[2x1320]
    PROGRAM=/***/SAPLCUORDER_NDATA=GT_OP
    Table reference: 118
    TABH+  0(20) = 7039FC3C5824DB3C00000000760000002F010000
    TABH+ 20(20) = 0200000028050000FFFFFFFF0400000030140000
    TABH+ 40( 8) = 08000000C1308001
    store        = 0x7039FC3C
    ext1         = 0x5824DB3C
    shmId        = 0     (0x00000000)
    id           = 118   (0x76000000)
    label        = 303   (0x2F010000)
    fill         = 2     (0x02000000)
    leng         = 1320  (0x28050000)
    loop         = -1    (0xFFFFFFFF)
    xtyp         = TYPE#000093
    occu         = 8     (0x08000000)
    access       = 1     (ItAccessStandard)
    idxKind      = 0     (ItIndexNone)
    uniKind      = 2     (ItUniqueNon)
    keyKind      = 1     (default)
    cmpMode      = 8     (cmpManyEq)
    occu0        = 1
    groupCntl    = 0
    rfc          = 0
    unShareable  = 0
    mightBeShared = 0
    sharedWithShmTab = 0
    isShmLockId  = 0
    gcKind       = 0
    isUsed       = 1
    isCtfyAble   = 1
    >>>>> Shareable Table Header Data <<<<<
    tabi         = 0x2010FC3C
    pgHook       = 0x00000000
    idxPtr       = 0x00000000
    shmTabhSet   = 0x00000000
    id           = 234   (0xEA000000)
    refCount     = 0     (0x00000000)
    tstRefCount  = 0     (0x00000000)
    lineAdmin    = 8     (0x08000000)
    lineAlloc    = 8     (0x08000000)
    shmVersId    = 0     (0x00000000)
    shmRefCount  = 1     (0x01000000)
    >>>>> 1st level extension part <<<<<
    regHook      = 0x60B7153D
    collHook     = 0x00000000
    ext2         = 0x1024DB3C
    >>>>> 2nd level extension part <<<<<
    tabhBack     = 0xE00FFC3C
    delta_head   = 0000000000000000000000000000000000000000000000000000000000000000000000000000000
    pb_func      = 0x00000000
    pb_handle    = 0x00000000
    G_BADI_PROGRAM
    2222222222222222222222222222222222222222
    0000000000000000000000000000000000000000
    0000000000000000000000000000000000000000
    0000000000000000000000000000000000000000
    LOG_ERROR
    2
    0
    0
    0
    CON_BUTT_DELETED
    @11QDelete@
    43355466676422222222222222222222222222222222
    011C145C545000000000000000000000000000000000
    00000000000000000000000000000000000000000000
    00000000000000000000000000000000000000000000
    G_CU_EXIT_CU_EXPLODE
    F0000000
    F0000000
    /***/CUDESIGN-OBJNR
    CY00000000000000008835
    4533333333333333333333
    3900000000000000008835
    0000000000000000000000
    0000000000000000000000
    CL_GUI_RESOURCES=>COL_TEXTAREA
    31
    1000
    F000
    G_SEC_COUNT
    0
    0000
    0000
    LV_UPD
    X
    5
    8
    0
    0
    %_SPACE
    2
    0
    0
    0
    GS_ROW_NO
    0.0.0.1.
    0000
    1000
    0000
    0000
    SCREEN
    /***/CUDESIGN-GLTRP
    2454245445444244555222222222222222222222222222222222222222222222222222222222222222222222222222
    F35DF3545397ED7C420000000000000000000000000000000000000000000000000000000000000000000000000000
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    SY-MSGID
    00
    33222222222222222222
    00000000000000000000
    00000000000000000000
    00000000000000000000
    SWO_%CONTAINER
    000000000
    2222222222222222222222222222222233333333322222222222222222222222222222222222222222222222222222
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    SPACE
    2
    0
    0
    0
    SY-MSGNO
    341
    333
    341
    000
    000
    /***/CVCUI-CUTYP
    2
    0
    0
    0
    SY-MSGV1
    MESSAGE_TYPE_X
    44554445555455222222222222222222222222222222222222
    D533175F4905F8000000000000000000000000000000000000
    00000000000000000000000000000000000000000000000000
    00000000000000000000000000000000000000000000000000
    SY-MSGV2
    22222222222222222222222222222222222222222222222222
    00000000000000000000000000000000000000000000000000
    00000000000000000000000000000000000000000000000000
    00000000000000000000000000000000000000000000000000
    SY-MSGV3
    22222222222222222222222222222222222222222222222222
    00000000000000000000000000000000000000000000000000
    00000000000000000000000000000000000000000000000000
    00000000000000000000000000000000000000000000000000
    SY-MSGV4
    22222222222222222222222222222222222222222222222222
    00000000000000000000000000000000000000000000000000
    00000000000000000000000000000000000000000000000000
    00000000000000000000000000000000000000000000000000
    No.       2 Ty.          FORM
    Name  USER_COMMAND_D2000
    /***/CVCUI
    0.0.0.0.0.0.0.1.                                                                         000000
    2220000000022222222222222222222222222222222222222222222222222222222222222222222222223333332222
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    SYST-REPID
    /***/SAPLCUORDER_N
    2454254544545445542222222222222222222222
    F35DF310C35F2452FE0000000000000000000000
    0000000000000000000000000000000000000000
    0000000000000000000000000000000000000000
    CON_MODE_COPY
    C
    4
    3
    0
    0
    LT_BAPI_RETURN
    Table IT_1778[2x1088]
    PROGRAM=/***/SAPLCUORDER_NFORM=USER_COMMAND_D2000DATA=LT_BAPI_RETURN
    Table reference: 310
    TABH+  0(20) = 8837083D407E1C3D0000000036010000F2060000
    TABH+ 20(20) = 0200000040040000FFFFFFFF04000000F0170000
    TABH+ 40( 8) = 08000000C1308101
    store        = 0x8837083D
    ext1         = 0x407E1C3D
    shmId        = 0     (0x00000000)
    id           = 310   (0x36010000)
    label        = 1778  (0xF2060000)
    fill         = 2     (0x02000000)
    leng         = 1088  (0x40040000)
    loop         = -1    (0xFFFFFFFF)
    xtyp         = TYPE#000113
    occu         = 8     (0x08000000)
    access       = 1     (ItAccessStandard)
    idxKind      = 0     (ItIndexNone)
    uniKind      = 2     (ItUniqueNon)
    keyKind      = 1     (default)
    cmpMode      = 8     (cmpManyEq)
    occu0        = 1
    groupCntl    = 0
    rfc          = 1
    unShareable  = 0
    mightBeShared = 0
    sharedWithShmTab = 0
    isShmLockId  = 0
    gcKind       = 0
    isUsed       = 1
    isCtfyAble   = 1
    >>>>> Shareable Table Header Data <<<<<
    tabi         = 0x50C6073D
    pgHook       = 0x00000000
    idxPtr       = 0x00000000
    shmTabhSet   = 0x00000000
    id           = 1534  (0xFE050000)
    refCount     = 0     (0x00000000)
    tstRefCount  = 0     (0x00000000)
    lineAdmin    = 8     (0x08000000)
    lineAlloc    = 8     (0x08000000)
    shmVersId    = 0     (0x00000000)
    shmRefCount  = 1     (0x01000000)
    >>>>> 1st level extension part <<<<<
    regHook      = 0x00000000
    collHook     = 0x00000000
    ext2         = 0x6067033D
    >>>>> 2nd level extension part <<<<<
    tabhBack     = 0xE82F063D
    delta_head   = 0000000000000000CF000000000000000400000020180000000000004D00430055004F000000000
    pb_func      = 0x00000000
    pb_handle    = 0x00000000
    CON_MODE_ORDE
    O
    4
    F
    0
    0
    TGSBT
    22222222222222222222222222222222222222
    00000000000000000000000000000000000000
    00000000000000000000000000000000000000
    00000000000000000000000000000000000000
    CL_GUI_RESOURCES=>COL_TEXTAREA
    31
    1000
    F000
    LS_NUMBERS-AUFNR_NEW
    000001000677
    333333333333
    000001000677
    000000000000
    000000000000
    T024I
    200UT10100PG for Term & Comp
    33355333335426672567622246672222222222222222
    20054101000706F20452D0603FD00000000000000000
    00000000000000000000000000000000000000000000
    00000000000000000000000000000000000000000000
    LS_T399X
    200UT10UM01                  X    INST  30UT01UT01
    3335533543322222222222222222252222445522335533553322222222222222222222222222222222222222222222
    20054105D01000000000000000000800009E3400305401540100000000000000000000000000000000000000000000
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    CON_VBKZ_U
    U
    5
    5
    0
    0
    /***/CU_ORDER_IO-DISP_FACTOR
    2097152
    0
    0
    LS_DESIGN
    200########000050000109DDCY00000000000000008835PROFILE1  0001UT10UM0100220100MWH001
    333D5FC807333333333333344453333333333333333333355444443223333553354333333333345433322222222222
    200CDB1E02B00005000010944390000000000000000883502F69C5100000154105D0100220100D7800100000000000
    000599F215300000000000000000000000000000000000000000000000000000000000000000000000000000000000
    0004C91D3DB00000000000000000000000000000000000000000000000000000000000000000000000000000000000
    /***/CUDESIGN
    200########000050000109DDCY00000000000000008835PROFILE1  0001UT10UM0100220100MWH001
    333D5FC807333333333333344453333333333333333333355444443223333553354333333333345433322222222222
    200CDB1E02B00005000010944390000000000000000883502F69C5100000154105D0100220100D7800100000000000
    000599F215300000000000000000000000000000000000000000000000000000000000000000000000000000000000
    0004C91D3DB00000000000000000000000000000000000000000000000000000000000000000000000000000000000
    G_DROP_COUNT
    0
    0000
    0000
    LS_DESIGN-DESNUM
    000050000109
    333333333333
    000050000109
    000000000000
    000000000000
    No.       1 Ty.          MODULE (PAI)
    Name  USER_COMMAND_2000
    GT_SELTAB_INIT
    Table[initial]
    Internal notes
    The termination was triggered in function "RfcExtendedReceive"
    of the SAP kernel, in line 422 of the module
    "//bas/700_REL/src/krn/rfc/abrfcrcv.c#4".
    The internal operation just processed is "FUNC".
    Internal mode was started at 20070827180011.
    Status of connection:
    RFC state: " "
    RFC error text: "RFC_ERROR_SYSTEM_FAILURE"
    CPI-C error text: "The current application triggered a termination with a short
    dump."
    Active Calls in SAP Kernel
    Lines of C Stack in Kernel (Structure Differs on Each Platform)
    SAP (R) - R/3(TM) Callstack, Version 1.0
    Copyright (C) SAP AG. All rights reserved.
    Callstack without Exception:
    App       : disp+work.EXE (pid=26488)
    When      : 8/27/2007 18:1:10.942
    Threads   : 2
    Computer Name       : MB1ES1005
    User Name           : ec6adm
    Number of Processors: 2
    Processor Type: x86 Family 15 Model 4 Stepping 10
    Windows Version     : 5.2 Current Build: 3790
    State Dump for Thread Id 5e10
    eax=000f93c0 ebx=0000042c ecx=00003118 edx=00000000 esi=0000042c edi=00000000
    eip=7c82ed54 esp=056d71f0 ebp=056d7260 iopl=0         nv up ei ng nz ac po cy
    cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00200297
    function : KiFastSystemCallRet
    7c82ed54 c3               ret
    7c82ed55 8da42400000000   lea     esp,[esp]              ss:056d71f0=7c822124
    7c82ed5c 8d642400         lea     esp,[esp]              ss:62bd5803=00000000
    FramePtr ReturnAd Param#1  Param#2  Param#3  Param#4  Function Name
    056d7260 77e6ba42 0000042c 0001d4c0 00000000 056d7298 ntdll!KiFastSystemCallRet
    056d7274 0109504d 0000042c 0001d4c0 00000001 7c38b5c8 kernel32!WaitForSingleObject
    056d7298 00582118 00582151 7c38b5c8 7c38b5c8 7c38b5c8 disp+work!NTDebugProcess  (ntstcdbg.c (501))
    056d729c 00582151 7c38b5c8 7c38b5c8 7c38b5c8 01e9b1b8 disp+work!NTStack  (dptstack.c (1367))
    056d72b8 00582185 7c38b5c8 00000000 008b7ec8 7c38b5c8 disp+work!CTrcStack2  (dptstack.c (352))
    056d72c4 008b7ec8 7c38b5c8 00000000 005f0059 00330030 disp+work!CTrcStack  (dptstack.c (182))
    056d72e8 008bb39f 00711076 056d8018 056d7be8 00200020 disp+work!rabax_CStackSave [abrabax.c (7063)
    056d7b90 009eca8b 020b9e4c 020b9e14 000001a6 5d88acf0 disp+work!ab_rabax  (abrabax.c (1243))
    056d7bcc 009ed19e 00000003 00711076 00000020 00000000 disp+work!rcv_message  (abrfcrcv.c (422))
    056d8068 009ed29d 00000003 00000000 00710c47 056d80c0 disp+work!RfcExtendedReceive [abrfcrcv.c (14
    056d808c 00714873 00000003 00710c47 056d80c0 00711076 disp+work!ab_rfcreceive  (abrfcrcv.c (59))
    056d80e4 0071886b 2694a7c8 2694a7cc 2694a7cc 2694a7cc disp+work!jfunc_get  (abfunc.c (5103))
    056d89f4 007191d0 00000003 000000b4 00000000 05e8b7c0 disp+work!jfunc_nonstandard [abfunc.c (1655)
    056dcfb0 006e3e2d 00000003 3ced8f90 00000000 056dd018 disp+work!ab_jfunc  (abfunc.c (554))
    056dd018 0081cb5e 00000000 3ced8f90 056dd164 3cedb514 disp+work!ab_extri  (abextri.c (552))
    056dd02c 00897dbd 00000000 3cedae46 005bf4cd 3ceda13c disp+work!ab_xevent  (abrunt1.c (281))
    056dd038 005bf4cd 3ceda13c 000000ea 3cedae46 00000000 disp+work!ab_dstep  (abdynpro.c (492))
    056dd164 005c25be 3ced8f90 3ced8f90 056dfc78 00000000 disp+work!dynpmcal  (dymainstp.c (2398))
    056dd178 005c1def 00000001 3ced8f90 00000003 056dfc78 disp+work!dynppai0  (dymainstp.c (1004))
    056dd194 00595e69 3ced8f90 00000001 00000001 00000001 disp+work!dynprctl  (dymainstp.c (360))
    056dfcec 00490e06 00000004 0049d15f 00000004 01dadd00 disp+work!dynpen00  (dymain.c (1628))
    056dfcf4 0049d15f 00000004 01dadd00 00000003 00000002 disp+work!Thdynpen00  (thxxhead.c (4773))
    056dfee0 0049d6d6 00000001 00000000 00000000 00430000 disp+work!TskhLoop  (thxxhead.c (4455))
    056dff00 00421c36 00000000 00000000 7ffde000 056dff60 disp+work!ThStart  (thxxhead.c (1173))
    056dff14 00401080 00000003 05876980 00000001 00000000 disp+work!DpMain  (dpxxdisp.c (1121))
    056dff60 01242970 00000003 05876980 05877a10 01cce000 disp+work!nlsui_main  (thxxanf.c (82))
    056dffc0 77e523e5 00000000 00000000 7ffde000 8967f020 disp+work!wmainCRTStartup  (crtexe.c (395))
    056dfff0 00000000 0124282d 00000000 00905a4d 00000003 kernel32!IsProcessorFeaturePresent
    State Dump for Thread Id 61fc
    eax=00000000 ebx=00000103 ecx=0587a700 edx=02714360 esi=00000000 edi=00000000
    eip=7c82ed54 esp=0799fec0 ebp=0799ff04 iopl=0         nv up ei pl zr na po nc
    cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00000246
    function : KiFastSystemCallRet
    7c82ed54 c3               ret
    7c82ed55 8da42400000000   lea     esp,[esp]              ss:0799fec0=7c821514
    7c82ed5c 8d642400         lea     esp,[esp]              ss:64e9e4d3=00000000
    FramePtr ReturnAd Param#1  Param#2  Param#3  Param#4  Function Name
    0799ff04 0119030a 000006e0 00000000 00000000 0587a798 ntdll!KiFastSystemCallRet
    0799ff84 7c349565 00000000 00000000 00000000 0587a700 disp+work!SigIMsgFunc  (signt.c (610))
    0799ffb8 77e6608b 0587a700 00000000 00000000 0587a700 MSVCR71!endthreadex
    0799ffec 00000000 7c3494f6 0587a700 00000000 00000000 kernel32!GetModuleFileNameA
    List of ABAP programs affected
    Index
    Typ
    Program
    Group
    Date
    Time
    Size
    Lang.
    0
    Prg
    /***/SAPLCUORDER_N
    0
    10.08.2007
    10:12:44
    541696
    E
    1
    Typ
    /***/CUDESIGN
    0
    10.08.2007
    10:05:19
    7168
    2
    Typ
    /***/CU_ORDER_IO
    0
    10.08.2007
    09:53:38
    4096
    3
    Typ
    /***/DESTYPE
    0
    10.08.2007
    10:05:21
    2048
    4
    Typ
    /***/PRF_ORD
    0
    10.08.2007
    10:05:21
    4096
    5
    Prg
    SAPMSSYD
    0
    04.04.2007
    10:28:36
    21504
    E
    6
    Prg
    SAPFSYSCALLS
    0
    09.09.2004
    14:18:32
    8192
    E
    7
    Typ
    /***/G_CUST
    0
    10.08.2007
    09:53:39
    3072
    8
    Prg
    /***/SAPLTABLES
    8
    10.08.2007
    10:13:00
    19456
    E
    9
    Typ
    /***/G_CHAR
    0
    10.08.2007
    10:05:21
    3072
    10
    Prg
    SAPLCTCE
    10
    09.09.2004
    14:18:34
    9216
    E
    11
    Typ
    CABN
    0
    18.09.2001
    10:02:26
    12288
    12
    Prg
    SAPLICON
    12
    04.04.2007
    10:10:28
    27648
    E
    13
    Prg
    %_CICON
    12
    07.02.2006
    10:40:00
    104448
    E
    14
    Typ
    ICONT
    0
    04.04.2007
    10:10:08
    2048
    15
    Typ
    NRIV
    0
    02.04.1998
    08:14:54
    3072
    16
    Prg
    SAPLBSVA
    16
    04.04.2007
    14:47:00
    296960
    E
    17
    Typ
    /***/CU_ORDER_S_OP_N
    0
    10.08.2007
    09:53:39
    14336
    18
    Prg
    CL_GUI_CONTROL================CP
    18
    28.02.2005
    21:03:09
    112640
    E
    19
    Prg
    %_CCNTL
    18
    18.02.2005
    14:15:08
    15360
    E
    20
    Typ
    OBJ_RECORD
    0
    14.02.1998
    08:30:43
    2048
    21
    Prg
    CL_GUI_OBJECT=================CP
    21
    05.07.2005
    13:10:15
    375808
    E
    22
    Prg
    CL_GUI_CFW====================CP
    22
    28.02.2005
    21:03:09
    172032
    E
    23
    Prg
    CL_GUI_PROPS_CONSUMER=========CP
    23
    18.02.2005
    14:15:08
    30720
    E
    24
    Prg
    SAPLTHFB
    24
    04.04.2007
    13:24:38
    390144
    E
    25
    Typ
    EUDB
    0
    06.11.2003
    20:28:08
    8192
    26
    Prg
    SAPLSFES
    26
    08.08.2007
    16:46:17
    259072
    E
    27
    Prg
    SAPLSPLUGIN
    27
    09.09.2004
    14:18:36
    8192
    E
    28
    Prg
    SAPLSTTM

    Yes even i find it strange. But there is no syntax error and the fact is that it was working 2 days back.  Suddenly it has started giving us this dump.
    The code is as follows.
    Commit design BAPI's
          CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' .
          IF save_okcode = con_order.
    Commit order BAPI's
            CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
              DESTINATION 'NONE'.
    Here con_order is CU01.
    Please let me know if anybody has faced this problem earlier.
    Thanks in Advance
    Meghana

  • RFC Destination None Error for MIGO

    Hi,
    I am getting RFC Destinatnation NONE error while posting Goods Receipt. GTS service for SD and MM is not active. Error showing for FM GRC01_COST_OBJECT_COST.
    Can any one help in this regard.
    Thanks in advance.
    SP Raj

    Hi,
    Pl find the details below of the error.
    Short text
        RFC destination "NONE" does not exist.
    What happened?
        Error in the ABAP Application Program
        The current ABAP program "SAPLCK36" had to be terminated because it has
        come across a statement that unfortunately cannot be executed.
    Error analysis
        The 'destination' "NONE" for a Remote Function Call
        is unknown.
        You can display the RFC destinations available in the system using
        the transaction SM59.
    Trigger Location of Runtime Error
        Program                                 SAPLCK36
        Include                                 ISAUTO_CK_SAPLCK36============E
        Row                                     812
        Module type                             (FORM)
        Module Name                             PRICE_STRATEGY_NEW
      806 ************************************************************************
      807 *     DOERNER, GRC, 10/11/1999: Add one new strategy:
      808 * 3b. Create costestimate during goods receipt
      809 ************************************************************************
      810     when 4.
      811       if k_debug_loc is initial.
    >>>>>         call function 'GRC01_COST_OBJECT_COST' destination 'NONE'
      813                 exporting
      814                      im_vbeln     = f_mtcom-vbeln
      815                      im_posnr     = f_mtcom-posnr

  • Call Function Destination in a background job

    I am having a problem using:
      CALL FUNCTION 'TABLE_ENTRIES_GET_VIA_RFC'
             DESTINATION p_dest
    in a background job.
    I am working on a program that would compare the same table in 2 different systems and write the differences.  It works when I run it in the foreground.  However, I want to run this in a nightly background job.  However, it is failing and I beleive that it is the result of the program needing a user to interactively logon to the remote system.
    How can I bypass the logon screen or enter information into the logon screen using a background job?
    Thanks.
    Jon

    Hi Jonathan,
    Would you like to reward some points to the poster to thank them as a part of SDN Contributor Recognition Program?
    You can click on the yellow star on the right of each post header to reward points.
    For more information:
    https://www.sdn.sap.com/sdn/index.sdn?page=crp_help.htm
    John.

  • Call function destination XI exception

    Hello,
    in R3 i call to function in XI, it's follow:
    call function 'XXX'
    --destination 'XI'
    --exporting
    AA = aa
    --importing
    BB = bb
    --exceptions
    system_failure = 1
    communication_failure = 2
    other = 3
    when this call produce a exception, why sometimes I can not see anything in XI - SXMB_MONI / runtime workbench -?
    thank you very much

    HI,
    If in case the message failed at entry point i.e. RFC sender communication channel, then it would not be available in SXMB_MONI.
    You may trace it from Communciation Channel Monitoring from RWB..
    Thanks
    Swarup

  • Doubt in call function

    Hi,
    Call Function 'FM' starting new task task-name
    Exporting
    What does this statement does.

    Hi
    chk this out
    CALL FUNCTION STARTING NEW TASK
    Variant 2
    CALL FUNCTION func ...STARTING NEW TASK task name.
    Extras:
    1. ... DESTINATION dest
    2. ... DESTINATION IN GROUP group name
    3. ... DESTINATION IN GROUP DEFAULT
    4. ... PERFORMING form ON END OF TASK
    5. ... EXPORTING  p1 = f1    ... pn = fn
    6. ... TABLES     p1 = itab1 ... pn = itabn
    7. ... EXCEPTIONS syst_except = rc MESSAGE mess
    Effect
    Starts the function module func asynchronously in a new session. In contrast to normal function module calls, the calling program resumes processing as soon as the function module is started in the target system. It does not wait until the function module has finished. Using CALL SCREEN, the called function module can, for example, display a screen and thus interact with the user. Note that taskname must be a valid string of at least 2 characters, preferably fewer than 8 characters. You cannot use either ' ' or SPACE as tasknames.
    Notes
    Note that under certain circumstances, an RFC may cause a database commit. For this reason, do not insert an RFC between two OpenSQL statements that open and close a database cursor (such as SELECT...ENDSELECT).
    This variant applies only from R/3 Release 3.0, so both the client system and the server system must have Release 3.0 at least.
    With this variant, the called function module must also be flagged in the Function Builder as externally callable, even if it is executed locally (without the addition Destination).
    There can be no function call to the destination 'BACK' in the called function module (for more information about the destination 'BACK', see CALL FUNCTION func DESTINATION dest).
    This variant does not allow you to execute external programs that you access from a TCP/IP-type detination asynchronously. (See the Transaction Tools -> Administration, Administration -> Network -> RFC destinations for maintaining destinations).
    Neither does this variant allow you to display images such as lists or screens in a separate window during RFC communication using a SAProuter.
    From Release 4.0 onwards, you can carry out a new, stricter system load check on RFC destinations. (In RFC destination maintenance of an R/3 connection, choose Destination -> ARFC-Optionen). Before the function module is executed, the system checks that the destination has sufficient resources available. If not, the system delays execution of the function module for a given period of time. The algorithm used to determine the system load on the target machine is the same as that used for an asynchronous RFC with the DESTINATION IN GROUP addition. Note that this option is only available for target systems from Release 3.1H onwards. This procedure is active as default.
    In principle, parallel processing makes sense whenever application servers have the necessary resources. In this case, the application servers must be configured with at least 3 dialog work processes.
    A program that is run in the background and uses RFC parallel processing requires at least 1 dialog work process per application server (because parallel processing takes place in a dialog work process).
    If the instance profile parameter 'auth/rfc_authority_check' is set to 1, the system automatically performs an RFC authorization check. The authorization check refers to the relevant function group for the function module to be called. If no authorization is found, a runtime error occurs. You can check the authorization in advance with the function module AUTHORITY_CHECK_RFC. If the RFC communication takes places in one system and in the same user context (that is, the same client and User ID) the system does not perform an RFC authority check. For more information, see: RFC Authorization Concept.
    When you are using asynchronous RFC to implement parallel windows, all these windows are closed if the caller session is the only session and terminates.
    Note that asynchronous tasks that have been started are not necessarily closed when the calling program ends.
    See also RFC Logons to the Target System (Remote Logon).
    Addition 1
    ... DESTINATION dest
    Effect
    Executes the function module externally as a Remote Function Call (RFC); dest can be a literal or a variable. The R/3 System where the function module is executed depends on the specified destination. Externally callable function modules must be flagged as such in the Function Builder (of the target system).
    Note
    If the destination is not explicitly specified, the system uses the default destination 'NONE'.
    Note
    If, during a Remote Function Call, an error occurs in the target system, details of the error message are passed back to the calling system in the following system fields: SY-MSGNO, SY-MSGID, SY-MSGTY, SY-MSGV1, SY-MSGV2, SY-MSGV3, and SY-MSGV4. These fields are initialized before every RFC. If a short dump or a type X message occurs, the short text of the dump is transferred to the caller, and the contents of SY-MSGID, SY-MSGTY, SY-MSGNO, and SY-MSGV1 assigned by the system.
    In RFC-enabled function modules, no ABAP statements are allowed that would end the RFC connection (for example, either LEAVE or SUBMIT without the AND RETURN addition).
    Note
    Note that a database commit occurs at each Remote Function Call (RFC). Consequently, you cannot use Remote Function Calls between pairs of statements that open and close a database cursor (such as SELECT ... ENDSELECT).
    Addition 2
    ... DESTINATION IN GROUP group name
    Addition 3
    ... DESTINATION IN GROUP DEFAULT
    Effect
    You use this addition to perform parallel execution of function modules (asynchronous calls) on a predefined group of R/3 System application servers.
    You use addition 2 (DESTINATION IN GROUP group name) to perform parallel execution of function modules on a predefined group of application servers. To maintain the RFC groups, choose Tools -> Administration -> Administration ->Network -> RFC destinations -> RFC -> RFC groups. The application programmer is responsible for the availability of RFC groups in the production system. In this case the group name variable must be of the type RZLLITAB-CLASSNAME
    You use addition 3 (DESTINATION IN GROUP DEFAULT) to perform parallel execution of function modules (asynchronous calls) on all currently available R/3 System application servers. However, instead of this variant, you are recommended to use an RFC group with appropriate resources for parallel processing of asynchronous calls (at least for performance reasons). Please note that the addition DESTINATION IN GROUP ' ' has the same effect as the addition DESTINATION IN GROUP DEFAULT.
    When you first call a function module with these additions, the system initializes the specified RFC group (unless the group has already been explicitly identified).
    To obtain current information about resources (that is, the resources available to process function modules), you can also initialize the RFC group explicitly in the program using the function module SPBT_INITIALIZE. You must perform this action before the first function module call.
    In both cases, the system first ascertains the currently available resources (work processes) on the available application servers (either a group of servers or all servers). By checking the current system load of each application server, the system determines how many work processes are available to execute asynchronous calls.
    After ascertaining the available resources, the asynchronous call is executed to one of the
    destinations. If no resources are available at that particular time, the system executes the
    exception routine RESOURCE_FAILURE (see the addition EXCEPTIONS). In the case of
    an asynchronous function module call, this exception must be handled by the application
    program (see example).
    No resources are made available by the system if resource availability limits are exceeded:
    Notes
    To be taken into consideration for RFC parallel processing, an application server must have at least 3 free dialog processes.
    The system triggers the exception RESOURCE_FAILURE only for asynchronous RFCs with the additions DESTINATION IN GROUP group name and DESTINATION IN GROUP DEFAULT.
    At present, only one RFC group per program environment is supported for parallel execution of asynchronous calls. Using both the additions DESTINATION IN GROUP group name and DESTINATION IN GROUP DEFAULT in a program is thus not allowed.
    To find out which destination was automatically selected, call the function module SPBT_GET_PP_DESTINATION immediately after the function module call with the two additions. This returns the selected RFC destination.
    If you want to delete an application server from the list of the configured RFC group at runtime (for example, when the application server is not accessible for technical reasons), use the function module SPBT_DO_NOT_USE_SERVER.
    Addition 4
    ... PERFORMING form ON END OF TASK
    While the parameters for receiving results (that is IMPORTING and TABLES parameters) are specified directly as additions in the case of "conventional" function modules (see variant 2), these are logged in the FORM routine form when making an asynchronous call (see RECEIVE).
    Notes
    If a function module returns no result, and you are not interested in error messages that arise when executing the function module, this addition (... PERFORMING form ON END OF TASK) can be omitted.
    If you want to handle the error messages that arise when executing the asynchronous function module call, you must use this addition. Also, when receiving the results in the FORM routine (see RECEIVE), you must react accordingly to the system exceptions SYSTEM_FAILURE and COMMUNICATION_FAILURE.
    With asynchronous RFC, the task name uniquely identifies the asynchronous connection and thus the context called.
    If several asynchronous function modules are executed consecutively to the same destination, you must assign a different task name to each.
    A calling program that starts an asynchronous RFC with the PERFORMING form ON END OF TASK addition cannot switch roll areas or change to an internal mode. This is because the asynchronous function module call reply cannot be passed on to the relevant program. You can perform a roll area switch with SUBMIT or CALL TRANSACTION.
    If a calling program makes asynchronous calls, finishes, and then expects responses, it cannot receive these responses.
    To wait for the reply to a started asynchronous function module, use the WAIT command with the addition PERFORMING form ON END OF TASK. Here, WAIT must be in the same program context (mode).
    Note that executing asynchronous calls is subject to a roll area change.That is, subroutines performed to receive asynchronous calls can take place while other asynchronous calls are being made. Thus as a developer you must ensure that subroutines can be executed at any time. You must not make assumptions about the implicit processing sequence.
    Addition 5
    ... EXPORTING p1 = f1 ... pn = fn
    Effect
    Passes values of fields and field strings from the calling program to the function module. In the function module, the formal parameters are defined as import parameters.
    Addition 6
    ... TABLES p1 = itab1 ... pn = itabn
    Effect
    Passes references to internal tables.
    Addition 7
    ... EXCEPTIONS syst_except = rc MESSAGE mess
    Effect
    While any exceptions arising in the called function module are handled by the second
    addition (see the FORM subroutine RETURN_INFO), this addition can handle two special
    system exceptions, (as with function module calls with the DESTINATION addition):
    SYSTEM_FAILURE
    is triggered, if a system crash occurs on the receiving side.
    COMMUNICATION_FAILURE
    is triggered if there is a connection or communication problem.
    In both cases, you can get a description of the error with the optional ... MESSAGE messaddition
    Note
    In principle, you should always react to these two system exceptions, whether you are making an asynchronous function module call or receiving results.
    Examples
    Calling a transaction in a seperate session.
    DATA: MSG_TEXT(80) TYPE C. "Message text
    Asynchronous call to Transaction SM59 -->
    Create a new session
    CALL FUNCTION 'ABAP4_CALL_TRANSACTION' STARTING NEW TASK 'TEST'
      DESTINATION 'NONE'
      EXPORTING
          TCODE = 'SM59'
      EXCEPTIONS
        COMMUNICATION_FAILURE = 1 MESSAGE MSG_TEXT
        SYSTEM_FAILURE        = 2 MESSAGE MSG_TEXT.
      IF SY-SUBRC NE 0.
        WRITE: MSG_TEXT.
      ELSE.
        WRITE: 'O.K.'.
      ENDIF.
    Using RFC groups to parallelize function module calls(RFC parallel processing)
    TYPES: BEGIN OF TASKLIST_TYPE,
             TASKNAME(4) TYPE C, "Verwaltung der Tasks
             RFCDEST     LIKE RFCSI-RFCDEST,
          END OF TASKLIST_TYPE.
    DATA: INFO LIKE RFCSI, C,  "Message text
          JOBS TYPE I VALUE 10,  "Number of parallel jobs
          SND_JOBS TYPE I VALUE 1,  "Sent jobs
          RCV_JOBS TYPE I VALUE 1,  "Received replies
          EXCP_FLAG(1) TYPE C,  "Number of RESOURCE_FAILUREs
          TASKNAME(4) TYPE N VALUE '0001',  "Task name administration
          TASKLIST TYPE TABLE OF TASKLIST_TYPE,
          WA_TASKLIST TYPE TASKLIST_TYPE.
    DO.
      CALL FUNCTION 'RFC_SYSTEM_INFO'
           STARTING NEW TASK TASKNAME DESTINATION IN GROUP DEFAULT
           PERFORMING RETURN_INFO ON END OF TASK
           EXCEPTIONS
             COMMUNICATION_FAILURE = 1
             SYSTEM_FAILURE        = 2
             RESOURCE_FAILURE      = 3.
      CASE SY-SUBRC.
        WHEN 0.
    Administration of asynchronous tasks
            WA_TASKLIST-TASKNAME = TASKNAME.
            CLEAR WA_TASKLIST-RFCDEST.
            APPEND WA_TASKLIST TO TASKLIST.
            WRITE: /  'Started Task: ', WA_TASKLIST-TASKNAME COLOR 2.
          TASKNAME = TASKNAME + 1.
          SND_JOBS = SND_JOBS + 1.
          JOBS     = JOBS - 1.  "Number of existing jobs
          IF JOBS = 0.
            EXIT.  "Job processing finished
          ENDIF.
        WHEN 1 OR 2.
    Handling of communication and system failure
        WHEN 3.  "No resources available at present
    Receive reply to asynchronous RFC calls
          IF EXCP_FLAG = SPACE.
             EXCP_FLAG = 'X'.
    First attempt for RESOURCE_FAILURE handling
             WAIT UNTIL RCV_JOBS >= SND_JOBS UP TO '0.01' SECONDS.
          ELSE.
    Second attempt for RESOURCE_FAILURE handling
             WAIT UNTIL RCV_JOBS >= SND_JOBS UP TO '0.1' SECONDS.
          ENDIF.
          IF SY-SUBRC = 0.
            CLEAR EXCP_FLAG.  "Reset flag
          ELSE.  "No replies
            "Endless loop handling
          ENDIF.
        ENDCASE.
    ENDDO.
    Receive remaining asynchronous replies
    WAIT UNTIL RCV_JOBS >= SND_JOBS.
    LOOP AT TASKLIST INTO WA_TASKLIST.
        WRITE:/   'Received Task:', WA_TASKLIST-TASKNAME COLOR 1,
              30  'Destination: ', WA_TASKLIST-RFCDEST COLOR 1.
    ENDLOOP.
    FORM RETURN_INFO USING TASKNAME.
      RECEIVE RESULTS FROM FUNCTION 'RFC_SYSTEM_INFO'
        IMPORTING RFCSI_EXPORT = INFO
        EXCEPTIONS
          COMMUNICATION_FAILURE = 1
          SYSTEM_FAILURE        = 2.
      RCV_JOBS = RCV_JOBS + 1.  "Receiving data
        IF SY-SUBRC NE 0.
    Handling communication and system failure
       ELSE.
         READ TABLE TASKLIST WITH KEY TASKNAME = TASKNAME
                    INTO WA_TASKLIST.
         IF SY-SUBRC = 0. "Daten registrieren
           WA_TASKLIST-RFCDEST = INFO-RFCDEST.
           MODIFY TASKLIST INDEX SY-TABIX FROM WA_TASKLIST.
         ENDIF.
       ENDIF.
    ENDFORM.
    plz reward if useful

  • Calling Function Modules from BSP

    Hi,
    Can we call Remote Function Modules from a BSP page? If yes, can they be called from both Layout and Events and what's the proper way of calling them?
    Any help will be great.

    HI Aurang
    Calling RFC is similar to calling any other Function Module..Only thing is you need to provide the DESTINATION name  of RFC Destination..
    And you can call it from Event like OnInputprocessing...
    inside your BSP Page..
    For Example
          CALL FUNCTION 'ZFI_FUNC_IM_DISPLAY_ASSE_CA_AS' DESTINATION 'Provide the RFC Destination here'
            EXPORTING
              I_PRCAT    = 'CA'
              I_DOCNO    = VAR_DOCNO
            IMPORTING
              E_ASSE_HDR = WA_HDR
              E_TEXT     = VAR_STATUS
            TABLES
              T_ASSE_LIT = T_T900.
    If you are calling from same server..Write destination as NONE
    Cheers:)
    Mithlesh

  • Computer name in R3 when call function RFC from CRM to R3

    Hi all,
    i nead the computer name in R3 when I  come to R3 from  CRM .
    In R3  i call function 'TERMINAL_ID_GET'  in R3   but I don't retrieve the computer name.
    i tried also to  call function 'TERMINAL_ID_GET'  in destination 'CRM'   but I don't retrieve the computer name.
    The code in R3:
    CALL FUNCTION 'TERMINAL_ID_GET' DESTINATION 'R3GETCRM'
          EXPORTING
            username             = sy-uname
          IMPORTING
            terminal             = l_terminal_usr41
          EXCEPTIONS
            multiple_terminal_id = 1
            no_terminal_found    = 2
            OTHERS               = 3.
    This function works ok when i call her direct from R3 or direct from CRM,
    but not give me in R3 the computer name when i came to R3 From CRM. 
    Thanks for your cooperation.
    dany

    thats because 'TERMINAL_ID_GET'  is not a RFC (check the attributes tab of the FM from SE37)
    if you dont find a RFC to do t his you can wrap this FM with a custom RFC and use it.
    if you want all the logged on users info (computer name and other info) then you can use THUSRINFO FM which a RFC
    Raja

  • CALL FUNCTION 'RFC_REMOTE_PIPE' throwing exception as 1

    Hi Sapients,
    I am using CALL FUNCTION 'RFC_REMOTE_PIPE' to rename a file at the UNIX level..Though this runs well... sometimes this is giving an exception as ''1'' (System Failure).. if we execute the same after 3  or 4 hours this RFC is again successfully executed...Can anyone throw some light on why this is happening and how we can avoid the same.
        CALL FUNCTION 'RFC_REMOTE_PIPE'
        DESTINATION 'SERVER_EXEC'
        EXPORTING
          COMMAND = l_command
          READ    = c_yes
        EXCEPTIONS
          system_failure        = 1
          communication_failure = 2
          OTHERS                = 3.
    where the l_command is mv old_file_name New_file_name
    and C_yes is X

    Hi,
    Maybe my answer comes too late.
    Could be helpful for others anyway.
    We got the same trouble and it was due to the RFCEXEC.SEC file.
    Installing the SDK7.20 the RFCEXEC files were missing and old RFCEXEC.SEC was not in the same format...
    Please look also to OSS notes #1592501 and #1581595
    Thanks
    //Philippe.

  • CALL FUNCTION 'RFC_REMOTE_PIPE' throwin exception ''1''

    Hi Sapients,
    I am using CALL FUNCTION 'RFC_REMOTE_PIPE' to rename a file at the UNIX level..Though this runs well... sometimes this is giving an exception as ''1'' (System Failure).. if we execute the same after 3  or 4 hours this RFC is again successfully executed...Can anyone throw some light on why this is happening and how we can avoid the same.
        CALL FUNCTION 'RFC_REMOTE_PIPE'
        DESTINATION 'SERVER_EXEC'
        EXPORTING
          COMMAND = l_command
          READ    = c_yes
        EXCEPTIONS
          system_failure        = 1
          communication_failure = 2
          OTHERS                = 3.
    where the l_command is mv old_file_name New_file_name
    and C_yes is X
    <promise removed by moderator>
    Edited by: Thomas Zloch on Mar 16, 2011 1:00 PM

    Hi,
    Maybe my answer comes too late.
    Could be helpful for others anyway.
    We got the same trouble and it was due to the RFCEXEC.SEC file.
    Installing the SDK7.20 the RFCEXEC files were missing and old RFCEXEC.SEC was not in the same format...
    Please look also to OSS notes #1592501 and #1581595
    Thanks
    //Philippe.

  • CALL FUNCTION  WITH STARTING NEW TASK

    Hi All,
    i'm call a function module through
    CALL FUNCTION 'Y_WIN'  DESTINATION 'rfc_destination' then it's give right result but when i want to call with starting new task then
    CALL FUNCTION 'Y_WIN'  STARTING NEW TASK 'INFO' DESTINATION 'rfc_destination'
    it does nt provide me any data. i have check in debugger call fm is wkging fine so pls clear me why i'm nt geeting result.
    pls give ur suggestions,
    Anuj

    Did you use the PERFORMING <form> ON END OF TASK to get the results back; like in the following sample
              CALL FUNCTION 'SAPWL_STATREC_READ_FILE'
                   STARTING NEW TASK taskname
                   DESTINATION list-name
                   PERFORMING read_outtab ON END OF TASK
                   EXPORTING
                        read_start_date   = s_date
                        read_start_time   = '000000'
                        read_end_date     = s_date
                        read_end_time     = '235959'
                   EXCEPTIONS " failure when calling RFC
                        communication_failure = 1 MESSAGE msg_text
                        system_failure        = 2 MESSAGE msg_text
                        RESOURCE_FAILURE      = 3.
    and
    FORM read_outtab USING taskname.
    * Receive results back
      RECEIVE RESULTS FROM FUNCTION 'SAPWL_STATREC_READ_FILE'
        TABLES
          v2_normal_records = outtab
        EXCEPTIONS " from the called FM
          nodata    = 1.
    Regards

  • Error BT616 when calling function module SXPG_COMMAND_EXECUTE in background

    Hi All,
    We use function module SXPG_COMMAND_EXECUTE with a custom command we defined in SM69 to move files in unix (mv command).
    The function module call has worked fine for almost a year and recently we have been seeing an error (BT616) in our job lob (SM37) when the program is run in background. We have not been able to reproduce the error in foreground mode and it seems to be occuring only periodically in the background. (The appropriate SAP authorization objects where assigned to the batch job ID and the steps on the batch job.) We are in the process of setting up the trace flag and performing analysis on the trace log via ST11 to help identify the issue.
    After perform analysis on SXPG_COMMAND_EXECUTE, the error is occurring when calling function module SAPXPG_END_XPG for exception 2, system failure, yet function module SAPXPG_END_XPG does not exist. I assume this is a program at the operating system level and is just a signature of the parameters to be passed to the operating system program.
    Below is part of the SAP function module SXPG_COMMAND_EXECUTE that is failing.
    * Now we have to wait for the termination of the external
    * command if the caller wants us to.
        IF TERMINATIONWAIT = 'X'.
          CALL FUNCTION 'SAPXPG_END_XPG'
            DESTINATION DESTINATION
            IMPORTING   EXITSTAT = STATUS
                        EXITCODE = EXITCODE
            TABLES      LOG      = LOG
            EXCEPTIONS  COMMUNICATION_FAILURE = 1 MESSAGE MSG
                        SYSTEM_FAILURE        = 2 MESSAGE MSG.
    I performed a where used on function module SXPG_COMMAND_EXECUTE, and most of SAP programs call the function module with the parameter TERMINATIONWAIT = 'X', so I assume we should pass ‘X’ as well.
    Any ideas on what could be causing this issue?
    Mike Vondran

    I also remember I have this kind of issue, as I have some UNIX script at OS( UNIX) level . The problem was with the ID , as it don’t have proper authorization at OS level ( UNIX ) . Please check this ID authorization. This could be the one of reasons if you’re sure from SAP standpoint.
    Hope this’ll give you some guide line..
    Thanks
    Bye

Maybe you are looking for

  • "Invalid Cursor" Error in Form

    Hi, I wrote a procedure that take a REF CURSOR as an IN OUT argument. This procedure does an "OPEN cursor FOR qry" with a dynamic query: OPEN l_cursor FOR        'SELECT A '||          'FROM B '||         'WHERE C = :l_var'      USING myVar;After cal

  • Please reply it is production issue and urgent

    In our demand planning implementation we are facing serious issue that the cvc are not there in the MPOS but they are visible in the planning books, we have created the these CVC manually and by mistake have not assigned the right charecter length fo

  • How to transfer free music on mp3 player into my PC

    Hello: everybody I have a Creative zen touch mp3 player(20G), there 59 classical music in it. Those music are free to give consumer by Creative, but I am't satisfied with listening to them in mp3 player. I want to transfer them to my PC for appreciat

  • Cannot copy music from library to a new playlist?

    Help. I backed up all my music from itunes. I then installed a new operating system. I put all the music back into itunes after re-installing itunes. Now when I take a song from my library and try to put it into a new playlist it will not copy it int

  • How to covert byte[] to String format

    I'm trying to print the reultset into a text file, but I'm having a prb converting byte[] to String. Here is my Code PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("C:\\MyFile.txt"))); while (rs1.next()) { byte[] _id         = rs