Logic or FM to fetch Background Jobs

Hi,
There is a reqmt to fetch the background jobs from tables TBTCO.
Here inthe selection screen planned start date to be given and program need to fetch the jobs which were run till previous day data from the table .
Background job logs however are cleaned-up every week.
How to achieve this, any pointer pls.
Thanks
Moderator Message: please work yourself first on your requirement.
Edited by: Thomas Zloch on Dec 13, 2010 12:29 PM

hi,
after entering output type and giving all the necessary parameters before saving put /h and press enter and save now
wait here......
in debugging screen select settings tab and check update debugging check box and save and press F8 now the control will stop at the break point.
i think this is clear.
reward points if useful.
thanks,
anupama.

Similar Messages

  • RE: Report for Background jobs

    Hi SAP Guru's,
    I need to create a report on Background Job status , please tell me is there any standard reports ? or How to create a report on Background Jobs Status?
    Thanks in Advance,
    Krishna.

    Dear Raja,
    In std report this is not possible, talk to ur ABAPer to fetch the feild PLNUM from AFPO table with respect to the AUFNR field. This can be added to the std report itself. use this logic it will work
    sree

  • Splitting a background job over different application servers

    I am running my program in the background and its taking long to complete. I have done some optimizations and it has greatly improved but still not running as fast as I want because its processing large amounts of data and the amount of time that I want all the data to be processed is little compared to the runtime of the program so now I want to split the background job over different application servers. Can someone tell me how do I go about doing that and example ABAP code will be greatly appreciated.
    Many thanks

    Hello, If you are interested in BANK_PP_JOBCTRL, here are some of the inputs. Its work very efficeintly, though you will have to investigate a little bit froom your end.
    With in package bank_pp_jobctrl , you will find these FM. I have mentioned the use of it as well.
    RBANK_PP_DEMO_GENERATE_DATA: To create the Business data for Parallel Processing.
    RBANK_PP_DEMO_CREATE_PACKMAN: To create Packages out of the business data.
    RBANK_PP_DEMO_START : To process data in parallel.
    RBANK_PP_DEMO_RESTART: To re-process failed records during parallel Processing.
    You will need to call above in your report program in the same sequence as shown above based on you requirement. I did used only first three.
    TO generate events you will need to execute SE38: RBANK_PP_GENERATE_APPL to create application this will create the FM with numbers as shown below.
    Events: This PPF automatically triggers various events during the execution of theStart Program. Each of this event is associated with a custom function module which contains the business logic.
    For implementing this framework, at least the below mentioned methods should be implemented .
    0205 – Create Package Templates  : This method is used to write the logic for creating packages which in turn decides the data to be processed in parallel. This function module is called in loop at the loop ends only when the exporting parameter E_FLG_NO_PACKAGE has a value ‘X’ passed back to the Parallel processing framework.
    1000 – Initialize Package :This method is the first step in processing a package. It fetches all the parameters required for the parallel processing to start. All the parameters are passed to this FM as importing parameters and it is the responsibility of this FM to save it in global parameters so that it can be utilized by Parallel processing framework.
    1100 – Selection per Range : This method is used to read data for a package. The objects selected must be buffered in global data areas of the application for later processing. The package information is stored as interval in global parameters and this information is used to select the package specific data.
    1200 – Selection for Known Object List: This method is used instead of method 1100 if it is a restart run. The objects to be processed are known already.
    1300 – Edit Objects: The processing logic to be implemented using parallel processing for the selected objects is written in this method. This function module is used to implement the business logic and
    Also, obiviously you would like to log your messages , so the framwrok provides macros to do it.
    Let me know if you need some further help as I know there is very little information provided on this.
    Regards/Ajay

  • Time_out dump in BackGround job

    Hi experts,
    I am facing an issue while scheduling a Background Job.The entire scenario is as follows.
    A RFC function module has been called  in the Report Program.The code inside the RFC function module is fetching a data from the database table(Select Query has been written).But in Production server system is giving the Time_out DUMP at this select Query which is written inside RFC function module.
    Table is having large number of records.For this Code optimization has been done already.
    Moreover entire report has been scheduled in Background.But I came to know RFC will work in Foreground only even though entire report program is scheduled in Background.
    Can anyone suggest how to solve this problem?
    For your information time limit has been maintained for Foreground job.

    Hi, Akhil, the rfc call is of course not run in foreground, but in dialog work process. Thats the same work process type, that performs requests of dialog users. Even though it does not sound much logically in first look, it has a logic. Also other limits for dialog users will apply.
    If you have to run the FM through RFC, there is no way how to bypass the dialog work process runtime limit on destination system, it will just apply, in my opinion I would recommend you don't loose your time to work around this point. afaik it does not matter if you start it synchronously or asynchronously.
    But as I wrote, you can try to throw a commit work in destination system occasionally, if you can (e.g. if you are not blocked in one big select query), you can also increase the runtime limit (but for all users on the same instance). You can redesign your application...
    If you will study the dump, you will find that it occurred on the destination (accounting) system, not in the calling system - where you are really ok since you run in background work process.
    Also, during the active RFC call you can monitor the destination system with SM66, where you will see this running process in DIA work process with the time increasing, before it will fail.
    On the other hand if you will start SM66 on caller system, you will see the work process is BTC

  • Scheduling one background job inside another

    Hi All,
    Is it possible to Scheduling one background job inside another.? i.e In my Z program I am calling job_open, job_submit, job_close and to execute one standard report in background. And after that I am executing my Z program itself  from SE38 as Program->Execute->Background->Execute Immediately. Is this logically correct? I am asking this because I am not getting the desired result
    Thanks & Regards,
    Neethu.

    HI,
    Check the job steps in SM36.
    First schedule the Standard job and in the job steps schedule the z report.
    Schedule job in chain

  • How can i get Background Jobs list which is made me?

    I created background job using JOB_OPEN and SUBMIT and JOB_CLOSE.
    I need to Background Job list which is made me..
    Do u know any function or logic?
    plz~

    [BP_JOBVARIANT_OVERVIEW|http://help.sap.com/saphelp_45b/helpdata/en/fa/096ccb543b11d1898e0000e8322d00/frameset.htm]
    BP_JOBLOG_READ

  • BWREMOTE background job canceled in sap r/3 system

    Hi my friends,
    Thanks for your help ahead.
    Today I checked the background job in SAP R/3 created by BWREMOTE via SM37. It showed me some jobs had been canceled.
    I displayed its log, the detail message is:
    ==========================================
    Step 001 started (program SBIE0001, variant &0000000083494, user name BWREMOTE)
    DATASOURCE = ZQM_NOT_SHFGRP
    Call up of customer enhancement BW_BTE_CALL_BW204010_E (BTE) with 1,593 records
    Result of customer enhancement: 1,593 records
    Call up of customer enhancement EXIT_SAPLRSAP_001 (CMOD) with 1,593 records
    ABAP/4 processor: SAPSQL_INVALID_FIELDNAME
    Job cancelled
    ==========================================
    Then I displayed the "Long Text" of the job log. It is
    One of the field names in the SELECT clause was not recognized.
    Error analysis
    The SELECT clause was specified in an internal table at runtime.
    It contains the field name "TPR00", but this does not occur in any of
    the database tables listed in the FROM clause.
    Information on where termination occurred
    The termination occurred in the ABAP/4 program "SAPLXRSA " in
    "EXIT_SAPLRSAP_001".
    The main program was "SBIE0001 ".
    Source code extract
    008840 concatenate 'TPR'
    008850 day_temp+6(2)
    008860 ' = '
    008870 ' ''' zshift '''' into
    008880 cond .
    008890 append cond to itab .
    008900 select schkz into i_not_shfgrp-zzschkz from t552a
    008910 where zeity = '2'
    008920 and mofid = 'CN'
    008930 and mosid = '28'
    008940 and ( schkz = 'SFTA' or
    008950 schkz = 'SFTB' or
    008960 schkz = 'SFTC' or
    008970 schkz = 'SFTD' )
    008980 and kjahr = day_temp+0(4)
    008990 and monat = day_temp+4(2)
    > and (itab) .
    009010 endselect.
    I guess that there is not a field named TPR00 in table t552a.
    Next, I opened the 'project management of sap enhancement' via CMOD, entering the project name and chosing 'Display'.
    Then Double click the Components 'EXIT_SAPLRSAP_001', we can see the function module 'EXIT_SAPLRSAP_001'. In the source codes, there is an include program, it is 'INCLUDE ZXRSAU01.'.
    Then, I double clicked the Include program and find the position program terminated. The source codes are:
    ZQM_NOT_SHFGRP *
    when 'ZQM_NOT_SHFGRP'.
    loop at c_t_data into i_not_shfgrp .
    l_tabix = sy-tabix .
    clear :mbatch ,zshift,cond ,zfield, zcharg, day_temp .
    refresh itab.
    if i_not_shfgrp-ausvn is initial.
    else.
    aa = '080000'.
    bb = '160000'.
    cc = '235959'.
    day_temp = i_not_shfgrp-ausvn.
    if i_not_shfgrp-auztv ge aa and
    i_not_shfgrp-auztv lt bb .
    zshift = 'MSHF' .
    elseif i_not_shfgrp-auztv ge bb and
    i_not_shfgrp-auztv le cc .
    zshift = 'LSHF'.
    else .
    zshift = 'NSHF'.
    day_temp = i_not_shfgrp-ausvn - 1.
    endif.
    concatenate 'TPR'
    day_temp+6(2)
    ' = '
    ' ''' zshift '''' into
    cond .
    append cond to itab .
    select schkz into i_not_shfgrp-zzschkz from t552a
    where zeity = '2'
    and mofid = 'CN'
    and mosid = '28'
    and ( schkz = 'SFTA' or
    schkz = 'SFTB' or
    schkz = 'SFTC' or
    schkz = 'SFTD' )
    and kjahr = day_temp+0(4)
    and monat = day_temp+4(2)
    and (itab) .
    endselect.
    endif.
    I found that we got a TPR00 during concatenation. In other words, day_temp+6(2) = 00. But I think it is impossible. I can not explain this.
    Any ideas, my friends. Many thanks.

    select schkz into i_not_shfgrp-zzschkz from t552a
    where zeity = '2'
    and mofid = 'CN'
    and mosid = '28'
    and ( schkz = 'SFTA' or
    schkz = 'SFTB' or
    schkz = 'SFTC' or
    schkz = 'SFTD' )
    and kjahr = day_temp+0(4)
    and monat = day_temp+4(2)
    <b>and (itab) .</b>  => doesn't make sense?!
    endselect.
    endif.
    it seems something got deleted between 'and' and '(itab)'... so, you'll have to recheck the requirements for your select to fill the 'and' statement further.
    so, it should look like
    and monat = day_temp+4(2)
    and <b><some kind of condition that needs to be fulfilled></b>.
    endselect.
    <b><some logic to fill a line in your internal table></b>.
    append cond to itab.
    endif.
    obviously <some kind of condition that needs to be fulfilled> needs to be replaced by a real condition
    and <some logic to fill a line in your internal table> needs to be replaced by some kind of formula
    I assume something like (otherwise it would be really weird to select that field):
    cond = i_not_shfgrp-zzschkz.
    or a formula using the i_not_shfgrp-zzschkz field.
    It would also be a lot better to replace your select ... endselect by a select single as you'll be selecting 1 record only anyways.
    Message was edited by:
            RafB

  • How to get data from the called program using SUBMIT in a background job?

    Hi Experts,
    I've a program which creates a background job using JOB_OPEN and JOB_CLOSE function modules.
    Between the above function modules I need to call a program using SUBMIT VIA JOB statement.
    My problem is, How do I fetch some data in an internal table in the called program to the calling program after the SUBMIT statement?
    I tried to EXPORT and IMPORT the data, but they are giving a failed sy-subrc when using this background job.
    Kindly let me know your inputs and valuable suggestions.

    Kumar,
    When we execute a program as a background job then the output will be sent to Spool which needs to be fetched again.I guess we need to use Submit via spool as mentioned by Rajat.
    Check these threads to get some idea
    submit report to spool & import spool id
    Re: Generate Spool for a report
    K.Kiran.

  • Schedule Background Job :  Remove delivery Block in Sales order

    Hi Gurus,
    I have a requirement to select all sales orders as per a condition and remove delivery block at
    VA02-> Go to -> Header -> Status
    For that I have to write a program which will be run only in background and i have to schedule background job for the same.
    I have a parameter at selection - No of records
    If no of records = 500 , I have to submit 500 jobs ie one job each for each sales order for removing delivery block.
    I need to know
    1) Which function module/bapi I can use to remove delivery block at sales order header level.
        For blocked delivery the status is 'BSTK" . to remove block i need to change status to "RSTK".
    2) How to schedule a background job for my program and how to submit one job each for each sales   order.
    Regards
    Avi.

    Hi Avi,
    Would like to seek for your advice. I am facing the same scenario too which is to delete the delivery block but is deletion of the delivery block is done in the user exit MV45AFZZ. The subroutine which needs to have the extra logic of deleting the delivery block is USEREXIT_SAVE_DOCUMENT_PREPARE.
    Need your advice on how do you solve this scenario? Thanks in advance.

  • Program works but background job for that program fails....

    I have a requirement where I have to collect the details of the purchase order and put the details in XML file format and FTP the XML file to an external third party FTP Server.
    To realize this I developed a report program which follows following logic.
    1)     First I collected the PO details by calling the BAPI BAPI_PO_GETDETAIL1.
    2)     Then using the following link "/people/r.eijpe/blog/2005/11/10/xml-dom-processing-in-abap-part-i--convert-an-abap-table-into-xml-file-using-sap-dom-approach
    I converted these PO details to the XML file format that the third party people accept.
           In the code I used u201CCALL METHOD cl_gui_frontend_services=>gui_downloadu201D and in this process first the XML file is generated and is getting stored on my deskytop.
    3)     Then I called HTTP_SCRAMBLE, FTP_CONNECT, FTP_COMMAND , FTP_DISCONNECT and RFC_CONNECTION_CLOSE.
    This works perfectly well and each time I execute the report the file is getting FTPu2019ed to the third party FTP server.
    Now I tried to schedule a batch job for this and the batch job fails with follwing errors
    02/25/2009 15:08:47 Error in Control Framework
    Message Class  = FES         
    Message Number = 022  
    Message Type   = E
    02/25/2009 15:08:47 Job cancelled after system exception ERROR_MESSAGE 
    Message Class  = 00        
    Message Number = 564  
    Message Type   = A                
    Can some one tell me what is going wrong. My report works perfect in front end but fails if I try to schedule a background job for it in SM36.
    Can you please tell me whatz going wrong with batch job? Any Help is highly appreciated.
    Regards,
    JEssica SAm

    Robert...Thanks for the reply...
    I am using follwing code
    l_xml_size = l_ostream->get_num_written_raw( ).
        CALL METHOD cl_gui_frontend_services=>gui_download
          EXPORTING
            bin_filesize = l_xml_size
            filename     = FILEPATH
            filetype     = 'BIN'
          CHANGING
            data_tab     = l_xml_table
          EXCEPTIONS
            OTHERS       = 24.
        IF sy-subrc <> 0.
          MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                     WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    Now what changes should i make..where should i store my XML file then instead of my desktop?
    and whih Function Module should i Use..

  • How to cancel the background job processing in ABAP programming?

    Hi,
    I have a requirement where i need to cancel the job depending on some constraint. My code is something like this:
    Select some data from the table.
    if sy-subrc = 0.
    Do nothing.
    Else
    Cancel the job
    call function 'BP_JOB_ABORT'
      exporting
       jobcount                         = number
        jobname                          = name
    EXCEPTIONS
       CHECKING_OF_JOB_HAS_FAILED       = 1
       JOB_ABORT_HAS_FAILED             = 2
       JOB_DOES_NOT_EXIST               = 3
       JOB_IS_NOT_ACTIVE                = 4
       NO_ABORT_PRIVILEGE_GIVEN         = 5
       OTHERS                           = 6
    The above code is cancelling the job but it is throwing an exception called CX_SY_DYN_CALL_PARAM_MISSING because i dint pass job count. How can we find the job count of next job that is going to run? Or How to handle the exception which it is throwing. Even if i try to handle that exception something like this:
    TRY
    call function 'BP_JOB_ABORT'
      exporting
       jobcount                         = number
        jobname                          = name
    EXCEPTIONS
       CHECKING_OF_JOB_HAS_FAILED       = 1
       JOB_ABORT_HAS_FAILED             = 2
       JOB_DOES_NOT_EXIST               = 3
       JOB_IS_NOT_ACTIVE                = 4
       NO_ABORT_PRIVILEGE_GIVEN         = 5
       OTHERS                           = 6
    RAISE EXCEPTION TYPE CX_SY_DYN_CALL_PARAM_MISSING.
    CATCH
    CX_SY_DYN_CALL_PARAM_MISSING.
    ENDTRY.
    It avoids the exception but it doesnt cancel the job.  I even tried with function modules like JOB_OPEN
    JOB_SUBMIT,BP_JOB_SELECT,BP_JOB_ABORT and tried to build some logic using status overview table (TBTCO) and TBTCP (Jobstep overview table).
    Can someone suggest me the right way to write this program ?
    Thanks in advance.
    Rashmi

    Hi,
    Problem is solved.
    Create an background job with 2 steps. The first step in the background job calls the program ZBACKJOB_STEP1.  In the variant we have a wrong material number
    If the material number is not found in Mara, the next step in the job should not get executed and the job should get cancelled..
    In the above posts i had asked how do I get the job count of the job that is currently triggering the program at the runtimeu2026..If u see the below code uu2019ll get to know.. We have to use the standard structure TBTCM which captures the properties/characteristics of the job.
    REPORT ZBACKJOB_STEP1.
    TABLES: MARA,TBTCM.
    PARAMETERS : MATNR TYPE MATNR.
    START-OF-SELECTION.
      SELECT SINGLE * FROM MARA WHERE MATNR = MATNR.
      IF SY-SUBRC IS INITIAL.
        WRITE / : 'This is the material selected on the selection-screen' , MARA-MATNR.
    ELSE.
            CALL FUNCTION 'GET_JOB_RUNTIME_INFO'
          IMPORTING
            EVENTID                                    = TBTCM-EVENTID
            EVENTPARM                             = TBTCM-EVENTPARM
            EXTERNAL_PROGRAM_ACTIVE = TBTCM-XPGACTIVE
            JOBCOUNT                                = TBTCM-JOBCOUNT
            JOBNAME                                  = TBTCM-JOBNAME
            STEPCOUNT                              = TBTCM-STEPCOUNT
          EXCEPTIONS
            NO_RUNTIME_INFO                    = 1
            OTHERS                                     = 2.
        IF SY-SUBRC = 0.
          CALL FUNCTION 'BP_JOB_ABORT'
            EXPORTING
              JOBCOUNT                                     = TBTCM-JOBCOUNT
              JOBNAME                                       = TBTCM-JOBNAME
            EXCEPTIONS
              CHECKING_OF_JOB_HAS_FAILED  = 1
              JOB_ABORT_HAS_FAILED              = 2
              JOB_DOES_NOT_EXIST                   = 3
              JOB_IS_NOT_ACTIVE                      = 4
              NO_ABORT_PRIVILEGE_GIVEN       = 5
              OTHERS                                         = 6.
          IF SY-SUBRC <> 0.
          ENDIF.
        ENDIF.
      ENDIF.
    Regards,
    Rashmi

  • MDVP only working as background job

    Hello,
    I was working on the ATP check when i discovered the only way to actually perform this check correctly was to execute it as a background job. When executing online, the stock is just not committed (even with full confirmation logic set on in the MRP group).
    It only works fine from the planned order.
    Isn't it possible to run MDVP online ??
    Any enlightements on this topic appreciated.
    Olivier

    Hi,
    You can run the availability check in background with program RLD05000. You have to create variant and schedule this program in batch from SM36 transaction, Out out you can check in spool.
    If helps rewards your points.
    Regards
    TAJUDDIN

  • How to Execute WebDynpro Applications as Background Job ?

    Hi Gurus,
    We have developed a lot of WDJ applications with component reusage; ie,
    quite a lot of business logic are wrapped in WDJ Components which are
    re-used by other WD UIs.
    Now we'd like to automate some of the processes with background jobs
    and faced with a few problems :
    #1. How can we write a background WD application which can be
    triggered by external mechanism and without presenting any UI?
    #2. If we write the background program in a Java DC, how can we
    invoke existing methods in WD components ?
    Anyone got a clue ??
    Ying-Jie Chen

    Hello Amit,
    > Well I can think of a workaround in this case.If you are aware
    > of the suspend-resume functionality of the WD application then
    > its possible to run the WD application virtually in background.
    [ stuffs deleted ...]
    It sounds like a possible alternative to our requirement, I'll
    spend some time to investigate on the WD suspend-resume mechanism !
    > Also let me know why are you preffering the WD if you dont
    > require its UI
    Our application requires the process to be performed with UI interaction;
    with some instances it should be run as a background job. Either case involves
    RFC calls to backend SAP R/3 and it's easy for RFC access with WD
    Component.  Though it's also possible to use CAF application service for
    RFC access; due to some technical constrains, we did not use CAF
    framework. Therefore it ends up where we are now ...
    Thanks for your tip!
    Ying-Jie Chen

  • Background job not showing full output of Report

    Dear Experts
    we have created zpgm for stad report and try to take output as mail to particular user for future analysis bcaz stad gives only 2 days report only we need keep report for months together so when we run job in foreground it shows proper output but when same thing when we run from background it shows only some part of report in mail (we are unable to get full output through background job )
    we send mail through spool receipts we have created folder and maintain user for getting mails through so15 distribution list
    we need some input to come out of this major issue
    if there is any other workaround let me know
    Regards

    Hello,
    If a job is defined by transaction SM36, the print format parameters will only be taken into account, if they are saved as user specific print parameters of the batch user. If no user specific print format
    is defined,  the ALV standard logic will be processed adjusting the print format to the actual line size of the report.
    For example, the list line size is about 132 characters, the widest available format of the chosen printer will be selected X_65_132.
    The problem would be solved by defining a device type which is no format assigned to print, or by defining user specific print format parameters for the batch user, who creates the jobs in SM36 (see
    SAP note 1179399, item 6).
    Regards,
    David

  • Background job not run properly

    Hi,
    When an infopackage is triggred through process chain in BI a background job will be exeuted at R/3 to fetch data from R/3.
    But the bakground job did not execute properly hat is it did not fetch any data but ot finished.
    But when the infopackage is executed manually the background job fetches the data from R/3.
    Why the job is not fetching data when triggered through process chain.
    Please help me to sole this issue.
    Regards,
    Indhu

    Hi Induja,
    In your case, you will have to debug the background job that is activated through BI. Check if proper data is coming from BI.
    You can only debug a background job if it is created under your user id. Thus, to debug the job you first have to own it and then debug by selecting it and either typing 'JDBG' in the command field or through menus available on the top.
    Job overview transaction code - SM37.
    Hopefully the issue is in Development/Test/Quality system and not in Production.
    Hope that helps!.
    Regards,
    Saba

Maybe you are looking for

  • I lost my IPHOTO application

    I lost our iphoto application

  • Bridge very slow to open each time - CS6

    I'm frustrated with how long Bridge takes to start up each time I launch the app. I have a very powerful machine (8-core, 3+ GHz, 24GB RAM,  500GB SSD, etc.); I have set the cache to save in each folder (I am told this should speed up the process, as

  • Manual for Gb11

    GB wreaks havoc down in the loop edit area still. is there a manual yet how to use the flex time and how to stop it from coming on everytime i use the lower loop edit area.

  • Imaq vision function reference

    Hello All, I am new to Lab Windows/CVI and am using the imaq vision library. Could anyone tell me where I can find the IMAQ Vision function reference? I have found a function reference manual at Start--> National Instruments --> Vision--> Documentati

  • View of Time elapsed/Time remaining

    Previous mobile versions showed time elapsed/time remaining at all times while a song was playing. The new version hides that after a few seconds unless you tap somewhere near the time elapsed line (which can cause you to accidentally fast forward or