ABAP Dump when calling Function Module Starting New Task

Hi all. I have a tricky situation now, I am doing a POC on parallel processing.
I am getting an ABAP dump on the following Call Function line which is in class lcl_steer_114numc (See below for full program):
METHOD start.
    CALL FUNCTION 'Z_ZZCLS_STEER_114NUMC'
      STARTING NEW TASK me->id
      CALLING me->finish ON END OF TASK.
  ENDMETHOD.                    "start
However I get the following ABAP dump:
Short text
    Statement "CALL FUNCTION .. DESTINATION/STARTING NEW TASK/IN BACKGROUND TASK"
The function module only contains a wait statement to simulate parallel processing. It is strange that it dumps here, because when I change the FM call to another call that has been triggered successfully from other classes, it still produces the same ABAP dump.
The background of the Proof Of Concept is to see if I can get an event to trigger the next process that depends on the outcome of the previous process. Parallel processes are run in the start methods by calling RFC.
<Garbled code removed>
Moderator Message: Please post relevant portions of the code only.
Edited by: Suhas Saha on Jul 17, 2011 1:17 PM

Well, the thing is I did manage to run 3 other Function Modules asynchronously succeesfully prior to that function call, with the same exact function call syntax. Further more, I have tried editing it with your suggestion but I get the exact same dump.
The complete function group can be downloaded here (slinkee file):
https://docs.google.com/leaf?id=0B3sua1Bw4XK4ZmFhNzcwMTgtYzQ0Mi00NzQ4LTg5YTMtNDNlNWUxYTM2NTg3&hl=en_US
The complete program can be downloaded here (slinkee file):
https://docs.google.com/leaf?id=0B3sua1Bw4XK4YWJmNjU3ODYtODRmMy00Nzg2LThkNTUtZjNkNDRhZGQ3MTUw&hl=en_US
The complete ST22 dump can be found here:
https://docs.google.com/leaf?id=0B3sua1Bw4XK4ZDU1YmFkZDAtOTU5MS00ZTgwLWFlZTktNWZhMDUxMzJlZWNl&hl=en_US
Basically I ST22 gives me the following:
Runtime Errors         RPERF_ILLEGAL_STATEMENT
Date and Time          17.07.2011 05:29:54
|Short text                                                                                |
|    Statement "CALL FUNCTION .. DESTINATION/STARTING NEW TASK/IN BACKGROUND TASK"                 |
|What happened?                                                                                |
|    Error in the ABAP Application Program                                                         |
|                                                                                |
|    The current ABAP program "Z_ZZB1_CLOSE_PERIOD_TEST2" had to be terminated                     |
|     because it has                                                                               |
|    come across a statement that unfortunately cannot be executed.                                |
And it explains it here (but is not helpful / relevant at all) as I ran the program from SE38.
|Error analysis                                                                                |
|    There is probably an error in the program                                                     |
|    "Z_ZZB1_CLOSE_PERIOD_TEST2".                                                                  |
|    The program was probably called in a conversion exit                                          |
|    or in a field exit. These are implemented by                                                  |
|    function modules called CONVERSION_EXIT_xxxxx_INPUT/OUTPUT or                                 |
|    USER_EXIT_xxxxx_INPUT.                                                                        |
|    Conversion exits are triggered during screen field transports or                              |
|    WRITE statements, field exits during field transports from the                                |
|    screen to the ABAP/4 program.                                                                 |
|    In this connection, the following ABAP/4 statements are not allowed:                          |
|                                                                                |
I hope you try to download the slinkee files and you will notice the call function I performed was no different than the other call function RFC calls that really are working.

Similar Messages

  • Behaviour of CALL FUNCTION fname STARTING NEW TASK DESTINATION 'NONE'

    As per ABAP help documentation, the statement CALL FUNCTION fname  STARTING NEW TASK DESTINATION 'NONE' should create a new main session in  same user session.The behaviour is wrong as per documentation.
    But  current behaviour:
    The statement CALL FUNCTION fname STARTING NEW TASK DESTINATION 'NONE'   is creating a new user session.
    Any reason?

    Hi Prakash,
    I'd agree with Suhas, that you're reading the documentation wrong. Here's your quote:
    As per ABAP help documentation, the statement CALL FUNCTION fname STARTING NEW TASK DESTINATION 'NONE' should create a new main session in current user session.
    If you look at the help, you can see that it says:
    When the destination NONE is used, a new main session is opened for the current user session.
    Do you see the difference? Also, note that in this context main session basically means that we're talking about a new external session:
    Each task ID defines a separate RFC connection with its own context, meaning that, in the case of repeated function module calls of the same task ID, the global data of the relevant function group can be accessed, if the connection still exists.
    In dialog processing, note that the maximum number of six main sessions cannot be exceeded, else an error message is displayed.
    If you're still in doubt, check out the online ABAP documentation for [CALL FUNCTION - STARTING NEW TASK|http://help.sap.com/abapdocu_70/en/ABAPCALL_FUNCTION_STARTING.htm]. So I'd say the documentation is in line with the actual behavior.
    Cheers, harald

  • Call Function'BAPI_USER_CHANGE' starting new task 'TEST'

    Hi All,
    I have problem with starting new task statement, I am using one FM after that am using starting new task 'TEST'
    statement but its not working in one system its working fine in other systems, Please help me who this works.
    Thanks in Advance.
    Eg: Call Function'BAPI_USER_CHANGE' starting new task 'TEST'
    Regar

    Thanks Lqueiroz  ,
    Now again i am getting a DUMP by saying ,
    "An error occurred when executing a REMOTE FUNCTION CALL.
    It was logged under the name "At least one entry could not be "
    on the called page."
    so what can be the reason for this
    call function 'ZRFC_PER_DIEM' starting new task lc_taskid performing subr on end of task
            exporting
              h_guid      = it_header_guid_n
              request_obj = lt_requested_objects_n.
          wait up to '1' seconds.
          read table gt_scl into ls_scl index 1.
          p_transaction_per_diem =  ls_scl-value.
          read table gt_scl into ls_scl index 2.
          transaction_currency_code = ls_scl-value.
      form subr   using task_id type clike.
      data: p_transaction_per_diem  type  char13,
            transaction_currency_code type  char3.
      receive results from function 'ZRFC_PER_DIEM'
                               tables
                                value = gt_scl.
    So basically i am getting dumo when receive statenment is running , by giving above dump.
    Regards
    PG

  • 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

  • Call function module in new task

    I need to call a function module starting new task but the problem is that it has inporting parameters also. Please help me in doing this. Points will be rewarded.

    Look at the ABAP keywords RECEIVE RESULTS FROM FUNCTION.  This is where you can get the results from the CALL FUNCTION MODULE... NEW TASK...
    It's all in the ABAP help for CALL FUNCTION MODULE.
    matt

  • CALL FUNCTION func STARTING NEW TASK task

    hi,
    i developed rfc to extract data and send to xi
    as my interface is Async
    as per soem documents it was mentioned the syntax
    CALL FUNCTION func STARTING NEW TASK task
    wat is the task ? in the syntax
    and how do i use it
    jeff

    Hi suresh,
    this is the code of  RFC. if i execute without RFCDESTINATION it executes successfully. when i use RFC DESTINATION it shows error
    call to messaging system failed: com.sap.aii.af.ra.ms.api.DeliveryException
    i created RFC destination using TCP/IP and registered program. same parameters i am mentioning in XI.
    FUNCTION z_bank_reconciliation.
    ""Local interface:
    *"  IMPORTING
    *"     VALUE(COMP_CODE) TYPE  BUKRS
    *"     VALUE(HOUSE_BANK) TYPE  HBKID
    *"     VALUE(ACCOUNT_ID) TYPE  HKTID
    *"  TABLES
    *"      CHQDETAILS STRUCTURE  ZPAYR
      DATA: itab LIKE payr OCCURS 0 WITH HEADER LINE.
      DATA: jtab LIKE payr OCCURS 0 WITH HEADER LINE.
      DATA: it_bank LIKE zbankrecon OCCURS 0 WITH HEADER LINE.
      DATA: it_bank1 LIKE zpayr OCCURS 0 WITH HEADER LINE.
      TYPES :  BEGIN OF ty_bseg ,
                 bukrs LIKE bseg-bukrs,
                 hbkid LIKE bseg-hbkid,
                 belnr LIKE bseg-belnr,
                 zlsch LIKE bseg-zlsch,
                 kostl LIKE bseg-kostl,
                 hkont LIKE bseg-hkont,
                 bzdat LIKE bseg-bzdat,
             END OF ty_bseg.
      TYPES : BEGIN OF ty_t012 ,
                  bukrs  LIKE t012-bukrs,
                  bankl  LIKE t012-bankl,
                  bankn  LIKE t012k-bankn,
             END OF ty_t012.
      TABLES : payr, t012, t012k, bseg.
      DATA : itpayr LIKE zpayr OCCURS 0 WITH HEADER LINE,
             itt012 TYPE STANDARD TABLE OF ty_t012,
             itbseg TYPE STANDARD TABLE OF ty_bseg,
             wa_itt012 TYPE  ty_t012,
             wa_itbseg TYPE  ty_bseg,
             total TYPE n.
      SELECT * FROM zbankrecon INTO TABLE it_bank
                       FOR ALL ENTRIES IN itab
                       WHERE chequeno EQ itab-chect.
      SELECT  abukrs abankl b~bankn
                  INTO CORRESPONDING FIELDS OF TABLE
                  itt012 FROM t012 AS a
          INNER JOIN t012k  AS b ON bbukrs = abukrs AND b~hbkid =
    house_bank AND b~hktid = account_id
                WHERE abukrs = comp_code AND ahbkid = house_bank.
      DELETE ADJACENT DUPLICATES FROM itt012.
      SELECT  zbukr  hbkid hktid vblnr gjahr zaldt checf chect  znme1 rwbtr
      waers zaldt zbnkl FROM payr INTO CORRESPONDING FIELDS OF TABLE itpayr
        WHERE  ( zbukr = comp_code AND hbkid = house_bank ) AND hktid =
        account_id.
    SELECT bukrs hbkid belnr zlsch kostl hkont bzdat  FROM bseg INTO TABLE
    itbseg
      WHERE bukrs = comp_code AND hbkid = house_bank.
      SORT  itt012 BY bankl.
      SORT itbseg BY belnr.
      READ TABLE itt012 INTO wa_itt012 INDEX 1.
      LOOP AT itpayr.
        read table itbseg into wa_itbseg with key bukrs = itpayr-zbukr
    hbkid =  itpayr-hbkid.
        if sy-subrc = 0.
          itpayr-kostl = wa_itbseg-kostl.
          itpayr-hkont = wa_itbseg-hkont.
         itpayr-bldat = wa_itbseg-bzdat.
          itpayr-zlsch = wa_itbseg-zlsch.
        endif.
        itpayr-zbnkl = wa_itt012-bankl.
        itpayr-zbnkn = wa_itt012-bankn.
        MODIFY itpayr.
        APPEND itpayr TO chqdetails.
      ENDLOOP.
      LOOP AT chqdetails.
        READ TABLE it_bank WITH KEY chequeno = chqdetails-chect.
        IF sy-subrc NE 0.
          MOVE chqdetails TO it_bank1.
          APPEND it_bank1.
          CLEAR it_bank1.
        ENDIF.
      ENDLOOP.
      REFRESH chqdetails.
      chqdetails[] = it_bank1[].
      LOOP AT it_bank1.
        MOVE : it_bank1-chect TO zbankrecon-chequeno,
        sy-datum TO zbankrecon-check_date,
        sy-uzeit TO zbankrecon-check_time.
        INSERT zbankrecon.
        CLEAR zbankrecon.
      ENDLOOP.
    ENDFUNCTION.

  • Problem in Call function .. starting new task

    Hi,
    I want to execute a dialog program in background. I am trying to use call function starting new task.
    I am facing some syntax issue. Can any one guide me how to use call function starting new task. The function module is RFC FM. Do we need to define task some where before use please guide.
    Thanks in advance. A sample program will be gr8.

    Hi,
    Incase you want to call a RFC FM in background you can call ity like this.
         call function 'Y_L_TO_CREATE_HUPAST' in background task
                 exporting
              venum   = y_v_venum
              backg   = 'X'
               buser   = y_lv_uname
              langu   = sy-langu
              objky   = y_lv_objky
              printer = y_lv_printer.
    Here Y_L_TO_CREATE_HUPAST is a RFC FM.
    Regards,
    Ankur Parab

  • Webgui - function module starting new task

    Hello,
    we want to call a function module which opens a new task from a webgui transaction. This webgui transaction is integrated into EP 6.0.
    Does anybody know how to handle this matter?
    Thanks in advance and best regards,
    Petra

    Hi Petra,
    "call function .... starting new task " creates a new external session for the current login session. This is the same as doing a /o or "system - Create session". Due to technical restrictions in webgui only one external session is possible.
    Best regards,
    Klaus

  • Calling Function Module starting new job

    Hallo !
    I'm calling a 'Z' function module from a class method.
    I want the calling will start immediately a new job.
    (That I will see in SM37)
    (Like we can do with submit statement)
    Is there a way to this ?
    (I need the function will start a job - because
    I want to save the function log in the Job list.)
    Thanks in advance,
      N.S.

    step : 1
    Sample Program: Creating a Job with JOB_OPEN
    <b>explanation :</b>
    Use JOB_OPEN to create a background job. The function module returns the unique ID number which, together with the job name, is required for identifying the job.
    Once you have "opened" a job, you can add job steps to it with JOB_SUBMIT and submit the job for processing with JOB_CLOSE.
    Create your job with JOB_OPEN. The module returns a unique job
    number. Together with the jobname, this number identifies the
    job. Other parameters are available, but are not required.
    JOBNAME = 'Freely selectable name for the job(s) you create'.
    CALL FUNCTION 'JOB_OPEN'
    EXPORTING
    JOBNAME = JOBNAME
    IMPORTING
    JOBCOUNT = JOBNUMBER
    EXCEPTIONS
    CANT_CREATE_JOB = 01
    INVALID_JOB_DATA = 02
    JOBNAME_MISSING = 03
    OTHERS = 99.
    IF SY-SUBRC > 0.
    <Error processing>
    ENDIF.
    step 2;
    Sample Program: Adding an ABAP Job Step
    <b>explanation :</b>
    Use JOB_SUBMIT to add a job step to a background job that you have opened with JOB_OPEN.
    A job step is an independent unit of work in a job, the execution of an ABAP or external program. Each job step can have its own authorizations user and printer/optical archiving specifications.
    Add a job step: ABAP program
    CALL FUNCTION 'JOB_SUBMIT'
    EXPORTING
    AUTHCKNAM = SY-UNAME " Runtime authorizations
    " user
    JOBCOUNT = JOBNUMBER " Value from JOB_OPEN
    JOBNAME = JOBNAME " Value from JOB_OPEN
    REPORT = 'REPORT' " Report to be run
    VARIANT = 'VARIANT' " Variant to use with
    " report
    PRIPARAMS = USER_PRINT_PARAMS " User printing options
    ARCPARAMS = USER_ARC_PARAMS " User archiving options
    " Both sets of options
    " come from
    " GET_PRINT_PARAMETERS
    EXCEPTIONS
    BAD_PRIPARAMS = 01
    INVALID_JOBDATA = 02
    JOBNAME_MISSING = 03
    JOB_NOTEX = 04
    JOB_SUBMIT_FAILED = 05
    LOCK_FAILED = 06
    PROGRAM_MISSING = 07
    PROG_ABAP_AND_EXTPG_SET = 08
    OTHERS = 99.
    step 3
    Sample Program: Immediate Start with JOB_CLOSE
    <b>explanation :</b>
    Use JOB_CLOSE to pass a background job to the background processing system to be run. Once you have "closed" a job, you can no longer add job steps to it or change job/job step specifications.
    The function module returns an indicator as to whether the job was automatically released or not. A job is automatically released to run only if the user who scheduled the job has RELE release authorization for the authorization object Operations on background jobs.
    A job step is an independent unit of work in a job, the execution of an ABAP or external program. Each job step can have its own authorizations user and printer/optical archiving specifications.
    Submit job for processing: immediate start
    CALL FUNCTION 'JOB_CLOSE'
    EXPORTING
    JOBCOUNT = JOBNUMBER " Job identification: number
    JOBNAME = JOBNAME " and name.
    STRTIMMED = 'X' " Schedules the job for
    " immediate start. The job
    " is started immediately
    " only if the user has the
    " RELE authorization to
    " release a job to run.
    IMPORTING
    JOB_WAS_RELEASED = JOB_RELEASED " If user has authorization
    " to release jobs to run, job
    " is automatically released
    " when it is scheduled. This
    " field is set to 'x' if the
    " job has been released.
    " Otherwise, the job is sche-
    " duled but must be released
    " by an administrator before
    " it can be started.
    EXCEPTIONS
    CANT_START_IMMEDIATE No longer used. Replaced by IMPORTING
    parameter JOB_WAS_RELEASED.
    INVALID_STARTDATE = 01
    JOBNAME_MISSING = 02
    JOB_CLOSE_FAILED = 03
    JOB_NOSTEPS = 04
    JOB_NOTEX = 05
    LOCK_FAILED = 06
    OTHERS = 99.
    IF SY-SUBRC > 0.
    <Error processing>
    ENDIF.
    in step 1  we will create a job with name etc..
    in step 2 we will assign work to this job
    step 3 : we will close the job inorder make it scheduled .
    Regards
    srikanth
    added descriptions to each steps

  • How to call RFC with  STARTING NEW TASK...performing my_form... in a class?

    Hello,
    I created a test report for parallel processing and this works perfectly fine but when I try to build this into a class I somehow cannot create the receiving form inside the method of the class...
    method test.
            CALL FUNCTION 'ZZCR_PARALLEL' STARTING NEW TASK lv_index DESTINATION IN GROUP DEFAULT
              PERFORMING transfo_result ON END OF TASK
              EXPORTING
                input_xstring = lx_clause_text.
    endmethod.
    I tried to place the form before the endmethod but this doesn't work and afterwards is also not an option.
    Is ABP OO not supporting parallel processing?
    Thanks and regards,
    Christoph

    Hello Christo ,
                         I am also trying to use the same in OO context . Just in he early stages of collecting information.If you could just tell what you found out in the document it could be opf immense help.
    Comradely,
    K.Sibi

  • 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

  • Calling Function Module in Update Task

    Hello Experts,
                              Can anyone let me know about
    Calling Function Module in Update Task.
    Why do we use this " In Update Task "  ??
    How do we Use ??
    What is the Use... ??
    Kindly let me know....
    Thanks and Regards
    Pramod

    hi,
    Why do we use this " In Update Task " ??
    The main update technique for bundling database changes in a single database LUW is to use CALL FUNCTION... IN UPDATE TASK.
    How do we Use ??
    A typical R/3 installation contains dialog work processes and at least one update work process. The update work processes are responsible for updating the database. When an ABAP program reaches a COMMIT WORK statement, any function modules from CALL FUNCTION... IN UPDATE TASK statements are released for processing in an update work process. The dialog process does not wait for the update to finish. This kind of update is called asynchronous update.
    What is the Use... ??
    Asynchronous update is useful when response time from the transaction is critical, and the database updates themselves are so complex that they justify the extra system load
    Real time scenario.
    Suppose a user wants to change an entry in a database table, or add a new one. He or she enters the necessary data, and then starts the update process by choosing Save. This starts the following procedure in the ABAP program:
    Firstly, the program locks the database entry against other users, using the enqueue work process (or the message server in the case of a distributed system). This generates an entry in the lock table. The user is informed whether the update was successful, or whether the lock could not be set because of other users.
    If the lock is set, the program reads the entry that is to be changed and modifies it. If the user has created a new entry, the program checks whether a record with the same key values already exists.
    In the current dialog work process, the program calls a function module using CALL FUNCTION... IN UPDATE TASK, and this writes the change details as an entry in table VBLOG.
    When the program is finished (maybe after further dialog steps), a COMMIT WORK statement starts the final part of the SAP LUW. The work process that is processing the current dialog step starts an update work process.
    Based on the information passed to it from the dialog work process, the update work process reads the log entries belonging to the SAP LUW from table VBLOG.
    The update work process passes this data to the database for updating, and analyzes the return message from the database. If the update was successful, the update work process triggers a database commit after the last database change and deletes the log entries from table VBLOG.
    If an error occurred, the update work process triggers a database rollback, leaves the log entries in table VBLOG, flags them as containing errors, and sends a SAPoffice message to the user, who should then inform the system administrator.
    The corresponding entries in the lock table are reset by the update work process.
    Hope this is helpful, Do reward.

  • What is the use of CALL FUNCTION MODULE - AT BACKGROUND TASK?

    Hi experts,
    I found Call functional module in background task will make the FM run at the next commit work as some people said. So I have some questions:
    1 if we use COMMIT WORK commend, the pending FM will be called? If there are several FMs called at background task, what is the sequence of them? How many conditions will trigger the running of these FMs?
    2 Where can I find the log of this pending FMs? In SAP library, it says there are 2 tables. But I checked these tables and can only find the FM name and user of it. And I can not understand content of these tables. It seems one is for the main information of FM, and the other is for the data of the FM, maybe the parameters.
    3 If I call a FM in this way, Can I canncel it before the next commit work in some way?
    Finally, thanks for reading and help.

    HI,
    When the COMMIT WORK statement is executed, the function modules registered for the current SAP-LUW are started in the order in which they were registered. ROLLBACK WORK deletes all previous registrations for the current SAP-LUW.
    If the specified destination is not available when COMMIT WORK is executed, an executable program called RSARFCSE is started in background processing. By default, this tries to start the function modules registered for a SAP-LUW in their destination every 15 minutes and up to 30 times. These parameters can be changed in the transaction SM59. If the destination does not become available within the defined time, it is recorded in the database table ARFCSDATA as the entry "CPICERR". The entry in the database table ARFCSSTATE is deleted after a standard period of eight days

  • Call function module in backgrouns task and in update task

    Hi Gurus,Pls crear me on the " <b>Call function module in backgrouns task and in update task</b>".
    how it works and waht is the link with LUW  releated to these .
    also heard that commit work statement aslo linked with this.
    Pls clarfiy me with expalnation of code.

    Hi sridhar,
    the explanation already given is correct and good. Small add-on:
    All functions called during one LUW with addition IN UPDATE TASK are stored together with their actual parameters in a temporary memory area. The moment a COMMIT WORK is issued, the functions are released to be executed by a so-called update task which is running in the background. This explains why functions called in update task never return anything, no SY-SUBRC and no export or table parameters If a function called in update task raises an exception or runs into an error the calling user will get an express message informing about this. Also, all database updates done by this update process are rolled back to keep consistency.
    This proceeding helps to keep database tables consistent and allows the user to keep on doing his work before all database updates are complete. You may have seen messages like "material will be changed" after saving. If you open the same material immediately, you'll get a message "object locked by...<yourself>". This means the update task is still running.
    Regards,
    Clemens

  • CALL FUNCTION FUNCTION NAME STARTING NEW TASK 'TASK_NAME'.

    Hello Experts,
    I want to call a function in new task. I am not aware as to what advantages I would have. This approach is recomended because of a memory sharing issue. However the currently I would like to know what is the significance of the 'TASK_NAME' string that I am using. What does this signify? Can I use any string? should I end the task once the function is executed? If I should end it how?
    I have tried with the syntax Call Function < Function Name> Starging New Task 'TASK_NAME'.
    and this works.
    Kindly advice..
    Thanks, Anumodh

    There is a nice article on SCN about this:
    [RFC Calls|https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/f078394a-4469-2910-c4bf-853c75674694]
    And like the ABAP keyword documentation also states is this:
    For task, you must specify a character-type data object, which contains a task identifier for the called remote function module, which can be up to eight characters long and chosen at will. This task ID should be unique for each call; it is passed to the callback routines to identify the function. Every task ID defines its own RFC connection with its own context, so that for repeated calls of function modules of the same task ID, the global data of the respective function group can be accessed, provided that the connection still stands.
    Hope this will do.

Maybe you are looking for