Copying the background job

Hi,
I have a background job with has a start condition after execution of a particular event.
Now i need to copy this background job to another name and execute it. I tried using the function module BP_JOB_COPY, but that copied the background job without the job start conditions. How can i copy the background job along with start conditions.
Thank you in anticipation.

Hi Nikhil,
the follwoing code schedules 2 jobs from a source job (which is maintaned in the system).
data: s_tbtcjob1 like tbtcjob,         "target job #1"
      s_tbtcjob2 like tbtcjob.         "target job #1"
data: h_1 like tbtco-jobcount,         "jobcount"
      h_2 like tbtco-jobcount,         "jobcount"
      h_1s like tbtco-jobname,         "jobname source"
      h_2s like tbtco-jobname,         "jobname source"
      h_1t like tbtco-jobname,         "jobname target"
      h_2t like tbtco-jobname.         "jobname target"
selection-screen begin of line.
selection-screen position 2.
parameters ra radiobutton group rad1.
selection-screen comment 4(70) text-001.
selection-screen end of line.
selection-screen begin of block block1 with frame.
parameters: p_a1 like h_1,
            p_a1s like h_1s,
            p_a1t like h_1t,
            p_a2 like h_2,
            p_a2s like h_2s,
            p_a2t like h_2t.
selection-screen end of block block1.
start-of-selection.
  perform create_jobs using p_a1 p_a1s p_a1t p_a2 p_a2s p_a2t.
*       FORM CREATE_JOBS                                              *
form create_jobs using h_1 h_1s h_1t h_2 h_2s h_2t.
  call function 'BP_JOB_COPY'
       exporting
            dialog                  = 'N'
            source_jobcount         = h_1
            source_jobname          = h_1s
            target_jobname          = h_1t
       importing
            new_jobhead             = s_tbtcjob1
       exceptions
            cant_create_new_job     = 1
            cant_enq_job            = 2
            cant_read_sourcedata    = 3
            invalid_opcode          = 4
            jobname_missing         = 5
            job_copy_canceled       = 6
            no_copy_privilege_given = 7
            no_plan_privilege_given = 8
            others                  = 9.
  call function 'BP_JOB_COPY'
       exporting
            dialog                  = 'N'
            source_jobcount         = h_2
            source_jobname          = h_2s
            target_jobname          = h_2t
       importing
            new_jobhead             = s_tbtcjob2
       exceptions
            cant_create_new_job     = 1
            cant_enq_job            = 2
            cant_read_sourcedata    = 3
            invalid_opcode          = 4
            jobname_missing         = 5
            job_copy_canceled       = 6
            no_copy_privilege_given = 7
            no_plan_privilege_given = 8
            others                  = 9.
  call function 'JOB_CLOSE'
       exporting
            jobcount                    = s_tbtcjob2-jobcount
            jobname                     = s_tbtcjob2-jobname
            pred_jobcount               = s_tbtcjob1-jobcount
            pred_jobname                = s_tbtcjob1-jobname
          targetsystem                = '<<SYSTEM IN CASE OF MULTIPLE SERVERS>>'
       exceptions
            cant_start_immediate        = 1
            invalid_startdate           = 2
            jobname_missing             = 3
            job_close_failed            = 4
            job_nosteps                 = 5
            job_notex                   = 6
            lock_failed                 = 7
            others                      = 8.
  call function 'JOB_CLOSE'
       exporting
            jobcount                    = s_tbtcjob1-jobcount
            jobname                     = s_tbtcjob1-jobname
            strtimmed                   = 'X'
          targetsystem                = '<<SYSTEM IN CASE OF MULTIPLE SERVERS>>'
       exceptions
            cant_start_immediate        = 1
            invalid_startdate           = 2
            jobname_missing             = 3
            job_close_failed            = 4
            job_nosteps                 = 5
            job_notex                   = 6
            lock_failed                 = 7
            others                      = 8.
endform.

Similar Messages

  • After upgrade the background jobs

    Dear all,
    We are Upgrading the PRD server.after after upgrade the background job (user specific ) jobs are mannully started are atuomatically started.I check the job btctrns2.
    The user specfic jobs are not started.
    Kindly advise us to start automatically.
    regards
    guna

    Hello Guna,
    Please find below a link to Background Jobs related information
    (if click does not work, copy and paste it in your browser)
    http://help.sap.com/erp2005_ehp_03/helpdata/EN/51/c0e07d569a11d189200000e8323d3a/frameset.htm
    I hope this is useful to you in your work
    Best Regards
    Sitaraman

  • 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

  • Certain Maintenance Plan not getting scheduled in the background job

    Hi Gurus,
    I am facing an issue here.
    A weekly background job (RISTRA20) runs every weekend and schedules the maintenance plans.
    But we have noticed that some maintenance plans are not getting scheduled. i.e no orders or schedule is getting generated.
    When I run IP30 manually for these plans then the schedule gets generated and orders get called.
    I have checked up the background job and it is running fine.
    Also, i have noticed a similarity in all these plans which are not getting scheduled. There schedule has been restarted (through IP10) at somepoint or the other.
    But i don't see any direct impact of this?
    Can any of you provide some help on this?? Points will be rewarded.
    Thanks and regards,
    Nitin Saini

    Hi Narender,
    Thanks for replying.
    The message number for 'Groups don't match' is ME303.
    I think this does not have anything to do with the restart as i have done further investigation.
    Whenever I run IP30 with sortfield input as AS02*, i get the error as mentioned above for a certain number of maintenance plans while the remaining plans get scheduled.
    If i run IP30 for any other sort fields, it runs fine and i don't encounter the error
    mentioned above.
    If you send me ur email address, i could forward you screen-shots of the issue.

  • Actual Varaint Name used in the Background Job

    Hi,
    When a program is executed in Background made the selection screen variant selected is not the one that is shown in the Background Job Step information. There we see variant as &0000000000044.
    I want to find the actual variant that was selected at the time of running the program in background mode.
    Thanks.

    Hi,
    I also faced the same issue and after my R&D i found a workaround for this. Check this out.
    Create a selection screen parameter and hide it.
    PARAMETERS: po_varnt TYPE sy-slset NO-DISPLAY.
    Now place below code in AT SELECTIO-SCREEN OUTPUT event.
    AT SELECTION-SCREEN OUTPUT.
        CHECK sy-batch IS INITIAL.
        CLEAR po_varnt.
        MOVE sy-slset TO po_varnt.
    If you are running in background by pressing F9 from selection screen, Use your hided parameter po_varnt for the variant name instead of sy-slset.
    If you are running the report in foreground or through SM36 then you can use sy-slset to know the variant name.
    Thanks,
    Vinod.

  • How to schedule the background job if report have Presentation server files

    Hi All,
    I have searched the forums and found , the way for the scheduling the background job if report selection screen have the presentation server file input.
    1. Using the Open data set method.
    And my client is not OK with Open dataset way, it there any other way to do this, As we are using the EXCEL file.
    Thanks and Regards,
    Bharani

    Hi,
    As said above it is generally not possible. Since your client most obviously doesn't like graphical background I would recomend storing data as till now, but show it with your own report in more userfriendly way. For example:
    - as ALV Grid
    - in excel with use of OLE either as embedded in SAP or new window (check transaction OLE for example)
    - with use of webdynpro
    BR
    Marcin Cholewczuk

  • How to schedule the background job using current selection screen field val

    Hello Friends,
    How to schedule the background job using current selection screen field values.
    after completion of the job the spool should be sent as a mail to SAP Inbox.
    Is there any way to create the variant dynamically by reading the current selection screen values.
    Thanks,
    Ravi

    Hi,
    To get the variant details you can use teh following FM.
    'RS_VARIANT_CONTENTS'.
    Regards,
    Ankur Parab

  • How to schedule the background job daily twice?

    Hi,
    How to schedule the background job daily twice? any conditions?
    Regards,
    Srihitha

    see the step by step procedure.
    Scheduling Background Jobs:
    1. Background jobs are scheduled by Basis administrators using transaction SM36.
    2. To run a report in a background, a job needs to be created with a step using the report name
    and a variant for selection parameters. It is recommended to create a separate variant for each
    scheduled job to produce results for specific dates (e.g. previous month) or organizational units (e.g.
    company codes).
    3. While defining the step, the spool parameters needs to be specified
    (Step-> Print Specifications->Properties) to secure the output of the report and help authorized users
    to find the spool request. The following parameters needs to be maintained:
    a. Time of printing: set to “Send to SAP spooler Only for now”
    b. Name – abbreviated name to identify the job output
    c. Title – free form description for the report output
    d. Authorization – a value defined by Security in user profiles to allow those users to access
    this spool request (authorization object S_SPO_ACT, value SPOAUTH). Only users with matching
    authorization value in their profiles will be able to see the output.
    e. Department – set to appropriate department/functional area name. This field can be used in
    a search later.
    f. Retention period – set to “Do not delete” if the report output needs to be retained for more
    than 8 days. Once the archiving/document repository solution is in place the spool requests could
    be automatically moved to the archive/repository. Storage Mode parameter on the same screen
    could be used to immediately send the output to archive instead of creating a spool request.
    Configuring user access:
    1. To access a report output created by a background job, a user must have at
    least access to SP01 (Spool requests) transaction without restriction on the user
    name (however by itself it will not let the user to see all spool requests). To have
    that access the user must have S_ADMI_FCD authorization object in the profile with
    SPOR (or SP01) value of S_ADMI_FCD parameter (maintained by Security).
    2. To access a particular job’s output in the spool, the user must have
    S_SPO_ACT object in the profile with SPOAUTH parameter matching the value used
    in the Print Specifications of the job (see p. 3.d above).
    3. Levels of access to the spool (display, print once, reprint, download, etc) are
    controlled by SPOACTION parameter of S_SPO_ACT. The user must have at least
    BASE access (display).
    On-line reports:
    1. Exactly the same configuration can be maintained for any output produced
    from R/3. If a user clicks “Parameters” button on a SAP Printer selection dialog, it
    allows to specify all the parameters as described in p. 3 of
    “Scheduling background jobs” section. Thus any output created by an online report
    can be saved and accessed by any user authorized to access that spool request
    (access restriction provided by the Authorization field of the spool request
    attributes, see p. 3.d of “Scheduling background jobs” section).
    Access to report’s output:
    1. A user that had proper access (see Configuring user access above) can
    retrieve a job/report output through transaction SP01.
    2. The selection screen can be configured by clicking “Further selection
    criteria…” button (e.g. to bring “Spool request name (suffix 2)” field or hide other
    fields).
    3. The following fields can be used to search for a specific output (Note that
    Created By must be blank when searching for scheduled job’s outputs)
    a. Spool request name (suffix 2) – corresponds to a spool name in p. 3.b in
    “Scheduling background jobs” section above).
    b. Date created – to find an output of a job that ran within a certain date range.
    c. Title – corresponds to spool Title in p. 3.c in “Scheduling background jobs”
    section above).
    d. Department - corresponds to spool Department in p. 3.e in “Scheduling
    background jobs” section above).
    4. Upon entering selection criteria, the user clicks the Execute button to
    retrieve the list of matching spool requests.
    5. From the spool list the user can use several function such as view the
    content of a spool request, print the spool request, view attributed of the spool
    request, etc. (some functions may need special authorization, see p.3 in
    Configuring user access)
    a. Click the Print button to print the spool request with the default attributes
    (usually defined with the job definition). It will print it on a printer that was
    specified when a job was created.
    b. Click the “Print with changed attributed” button to print the spool request
    with the different attributes (e.g. changing the printer name).
    c. Click the “Display contents” button to preview the spool request contents. A
    Print and Download functions are available from the preview mode.

  • How to stop the background job "Sap_collector_for_job_statistic"

    Dear All,
    Kindly let me know how to stop the Background job "Sap_collector_for_job_statistic" which is running everyday.
    We want to stop this background job.
    Kindly suggest.
    Regards,
    Mullairaja

    Select the Job using SM37 transaction. In the Menu Choose
    Job ---> Cancel Active Job.
    Before you do this it may be good idea to check the pid using SM50.
    It will be using a Background work process. Check the pid and the status.
    Select the same and in the Menu Choose Process --> Cancel with Core.
    Refresh and check in SM37 for the Active and Cancelled Jobs.

  • How to debug the background job in ABAP

    Hi Guys,
    Can anyone let me know how to debug the background job in ABAP.
    Thanks in advance
    peter

    Hi,
    Goto SM37 and see the log if any is there and based on that you can check the code.
    you can't debug background job.
    Create a Variant for the Program and
    Schedule JOB in background:
    Go to SM36 create a Job
    enter Program and Variant for that program in STEP..
    click on Start Condition
    Click on DATE and TIME enter date scheduled Start and END times
    click on Period Values
    Click on HOURLY/WEEKLY etc
    CLick on RESTRICTIONS also to use further criteria.
    so your job will be scheduled and run as per your requirement.
    and in SM37 Transaction check the status of that JOB
    Check this link for scheduling jobs..
    http://help.sap.com/saphelp_nw2004s/helpdata/en/c4/3a7f87505211d189550000e829fbbd/content.htm
    Check this
    http://jplamontre.free.fr/SAP/Debug%20background%20process.htm
    https://www.sdn.sap.com/irj/sdn/wiki?path=/display/abap/abap+debugger&
    Regards,
    Padmam.

  • How to get the Background job name

    Hi,
    I am executing a report in background and i want to get the background job name in the same report program. How can i get the same.
    Regards,
    Rajgopal Dara.

    Hi,
    for this fm is used 148 times in our system, I made a check program and it works:
    report  zsbatchfm.
                                                                                    data: xv_jobcn type btcjobcnt.
    data: xv_jobnm type btcjob.
    data: xv_stepc type btcstepcnt.
                                                                                    call function 'GET_JOB_RUNTIME_INFO'
      importing
    *   EVENTID                       =
    *   EVENTPARM                     =
    *   EXTERNAL_PROGRAM_ACTIVE       =
        jobcount                      = xv_jobcn
        jobname                       = xv_jobnm
        stepcount                     = xv_stepc
      exceptions
        no_runtime_info               = 1
        others                        = 2.
                                                                                    if sy-subrc <> 0.
      write:  /1 'SY-SUBRC = ', sy-subrc.
    else.
      write:  /1 'JOBCOUNT  = ', xv_jobcn.
      write:  /1 'JOBNAME   = ', xv_jobnm.
      write:  /1 'STEPCOUNT = ', xv_stepc.
    endif.
                                                                                    commit work.
    In online mode you get a SUBRC = 1, in batch mode you get the informations (here: in SPOOL)
    Please check it on your system!
    Regards,
    Klaus

  • Send/export the background job spool in Excel (in MHTML format) in ECC 6.0.

    Hello All,
    I have a requirement to send/export the background job spool in Excel (in MHTML format) in ECC 6.0. Please help.
    Thank you.
    Nalini

    Hi Jigar,
    Thanks for your response.
    Anything is like download to desktop or email is fine. But in MHTML format.
    We can download the ALV report in MHTML spreadsheet format when we run the program online. But the program is running for long time and going to dump.
    So i scheduled it as background job and downloading the output in  .HTML format. But user wants the spool/report output in .MHTML spreadsheet format.
    I can write the code. Instead of changing the existing program I would like to know is there any way (from standard SAP) that I can get the background spool in MHTML spreadsheet format.
    Thanks,
    Nalini

  • How to check the ALV output for the background job

    Hi Guru,
    We are having a cutomized report which will display the result like a ALV report.
    We configured it as an background job, after the completion of the background job, it will send the result to the SPOOL, and we can use SP02 to check the output,
    But it is not easy for user to directly check the result easily, is there an method we can save it as an spreadsheet and send the output to a specific location or mailbox and then user can check it easily
    thanks,

    In SM37 ,select the Job > Spool > Select Spool No > Display Contents > Here it will show you the Output of the Report.Now select Ctrl +Shift + F12 , it will ask you to save the Spread sheet in specified location.
    Best Regards,
    Ankur

  • How to cancel the background job?

    Hi,
        I have schedule the backgroud job.How to cancel the background the job.
    When i select the job and click on stop button, iam getting message "job is not active - cancellation not possiable".How to schedule the background job.
    Regards,
    T.suresh

    goto sm37
    SM36 Define Background Job
    SM37 Background Job Overview
    SM39 Job Analysis
    U can Moniter the background Jobs through T code SM37
    In the Simple Job Selection window enter the name of the Job and User of that Job and u can check the status of that Job like “JobName, Job CreatedBy, Status, Start date, Start time Duration(sec.) Delay (sec.).

  • Read Error logs after running the background jobs

    Hi,
    How to read the error logs after running the background jobs. In our scenarion we are running the COHV transaction to release the production orders in background. But we are not finding the error logs after background job. We would like to read the error logs and correct for further processing.
    Kindly suggest.
    Thanks & Regards,
    N. Laxman

    Hi
    you can check the  back ground jobs defined by any user in SM37 and where you can see the spool and job logs as well.
    plz check in your case and revert back
    Regards
    Anupam Sharma

Maybe you are looking for

  • Comparintg times  in a dynamic sql statement

    I am working on a coversion procedure from one database to another. I have a move procedure that calls functions and the like . I am trying to use dynamic sql and my where clause is giving me errors. What am I missing here ? TIA.... DEFINE DATECUTOFF

  • GIF 1x1 pixels instead of web page

    I just installed 10.6. Now I am getting a lot of strange errors when I surf. In both Firefox and Safari, when I try to access some pages/sites online, I just get a "GIF 1x1 pixel" blank screen. I tried dumping cookies/cache, no dice. Suggestions?

  • SYNTAX ERROR , ABAB RUNTIME ERROR

    Hi all I try to apply for the support pack of Basis component in BI -Training system , During Apply it will stoped and give the Run time error . Then after am not able to execute any other tcodes inside the system . Below mentioned Error , Kindly giv

  • Email as username and handle in profile not updated

    In my profile, my email is listed as my username (not an email address) so I changed my username into my email address in profile by clicking edit next to username. However the old username (non-email) is still kept on forums.oracle.com profile. The

  • I can't use fingerprint reader on Windows 7

    I'm going into Control Panel > Biometric devices, I choose a finger to enroll and then I get a notice :"Truesuite.FPR has stopped working." Anyone else run into this one yet? What can I do to use Fingerprint?