How to schedule a job in another system.

Hi,
Now i have an ABAP program, which run in system ABC, client 001. i want to schedule a job in the program, with the function modules JOB_OPEN, JOB_SUBMIT, and JOB_CLOSE. But this job should run in ABC/002.
How to write code?
Who can help me on the requirement, or provide me another new solution except event trigger?
Thanks & Best Regards,
Johnney

Here is the code. It works fine..
FUNCTION Z_F_TRIGGER_REPORT.
""Local Interface:
*"  IMPORTING
*"     VALUE(I_PROG) TYPE  D010SINF-PROG
*"     VALUE(I_VARIANT) TYPE  VARIS-VARIANT
*"     VALUE(I_MODE) TYPE  CHAR01
*"  EXPORTING
*"     VALUE(E_SUBRC) TYPE  SYST-SUBRC
*"     VALUE(E_MSG) TYPE  CHAR80
Functio ID :  Z_F_TRIGGER_REPORT
TITLE      :  Report Trigger Tool
Create Date:  15.03.2004
Author     :  Denis Vieira
Ownership : For the exclusive use of the Procter & Gamble Company
Description:
The purpose of this function module is to trigger programs
requested remotely.
AUTHORIZATION CHECKS
OBJECT               AUTHORITY FIELDS         ABAP FIELDS
                 |                       |
CHANGE HISTORY                                                      *
  DATE      |  Name  | Description                       | Reference *
29.Jun.2006 | BA4513 | Unicode conversion and upgrade    | SPK290606
            |        | to My SAP ERP                     |
**eject.
Check if selected program exists in the destination file
  SELECT SINGLE  SUBC
         FROM    D010SINF
         INTO    D010SINF-SUBC
         WHERE   PROG    EQ  I_PROG
         AND     R3STATE EQ  C_A.
  IF SY-SUBRC NE C_0.
    MOVE  C_2                                               TO E_SUBRC.
    MOVE 'Report does not exist in destination system'(M01) TO E_MSG.
    EXIT.
  ENDIF.
Check if program request is an executable program
  IF D010SINF-SUBC NE C_1.
    MOVE  C_2                                               TO E_SUBRC.
    MOVE 'Report is not an executable program'(M02)         TO E_MSG.
    EXIT.
  ENDIF.
Check if selected variant exists in the destination file
  SELECT COUNT( * )
       FROM  VARIS
       INTO  W_COUNT
       WHERE REPORT  EQ I_PROG
       AND   VARIANT EQ I_VARIANT
       AND   DYNNR   EQ C_1000.
  IF W_COUNT EQ C_0.
    MOVE  C_2                                                TO E_SUBRC.
    MOVE 'Variant does not exist in destination system'(M03) TO E_MSG.
    EXIT.
  ENDIF.
  IF I_MODE EQ C_B.
    PERFORM 0100_BACKGROUND USING     I_PROG I_VARIANT
                            CHANGING  E_MSG  E_SUBRC.
  ELSE.
    PERFORM 0200_FOREGROUND USING     I_PROG I_VARIANT
                            CHANGING  E_MSG  E_SUBRC.
  ENDIF.
ENDFUNCTION.
*eject
*&      Form  0100_background
Executes Selected program in BackGround Mode VIA JOB
*Block commented from here SPK290606
*FORM 0100_BACKGROUND USING     L_PROG L_VARIANT
                    CHANGING  L_MSG  L_SUBRC.
*Block commented till here SPK290606
*Block added from here SPK290606
FORM 0100_BACKGROUND USING    L_PROG    LIKE D010SINF-PROG
                              L_VARIANT LIKE VARIS-VARIANT
                     CHANGING L_MSG     TYPE  CHAR80
                              L_SUBRC   TYPE  SYST-SUBRC.
*Block added till here SPK290606
  CONCATENATE C_AREA
              C_UND
              L_PROG
              C_UND
              SY-DATUM
              C_UND
              SY-UZEIT
              INTO W_JOBNAME.
Create a JOB and Get the Number for further execution
  CALL FUNCTION 'JOB_OPEN'
       EXPORTING
            JOBNAME  = W_JOBNAME
       IMPORTING
            JOBCOUNT = W_JOBCOUNT.
  IF SY-SUBRC NE C_0.
    MOVE  C_2                       TO L_SUBRC.
    MOVE 'Error opening job'(M07)   TO L_MSG.
    EXIT.
  ENDIF.
Submit program
  SUBMIT (L_PROG)
    USING SELECTION-SET L_VARIANT
    VIA JOB W_JOBNAME NUMBER W_JOBCOUNT
    AND RETURN.
  IF SY-SUBRC NE C_0.
    MOVE  C_2                        TO L_SUBRC.
    MOVE 'Error Submitting Job'(M06) TO L_MSG.
    EXIT.
  ENDIF.
Closes job to start its processing
  CALL FUNCTION 'JOB_CLOSE'
       EXPORTING
            JOBCOUNT  = W_JOBCOUNT
            JOBNAME   = W_JOBNAME
            STRTIMMED = 'X'.
  IF SY-SUBRC NE C_0.
    MOVE  C_2                       TO L_SUBRC.
    MOVE 'Error closing job'(M08)   TO L_MSG.
    EXIT.
  ENDIF.
  MOVE  C_0                                          TO L_SUBRC.
  MOVE 'Program Submitted in Background Mode'(M09)   TO L_MSG.
ENDFORM.
*eject
*&      Form  0200_foreground
Executes Selected program in ForeGround Mode VIA Submit
*Block commented from here SPK290606
*FORM 0200_FOREGROUND USING     L_PROG L_VARIANT
                    CHANGING  L_MSG  L_SUBRC.
*Block commented till here SPK290606
*Block added from here SPK290606
FORM 0200_FOREGROUND USING    L_PROG    LIKE D010SINF-PROG
                              L_VARIANT LIKE VARIS-VARIANT
                     CHANGING L_MSG     TYPE  CHAR80
                              L_SUBRC   TYPE  SYST-SUBRC.
*Block added till here SPK290606
  SUBMIT (L_PROG) USING SELECTION-SET L_VARIANT
         EXPORTING LIST TO MEMORY AND RETURN.
  IF SY-SUBRC EQ C_0.
    MOVE  C_0                                 TO L_SUBRC.
    MOVE 'Report submitted successfully'(M04) TO L_MSG.
  ELSE.
    MOVE  C_2                                 TO L_SUBRC.
    MOVE 'Error submitting report'(M05)       TO L_MSG.
  ENDIF.
ENDFORM.

Similar Messages

  • Scheduling a job in another system

    Hello,
    I am looking for a FM or a report through which I can schedule a background job (a simple report program without a variant) in another system.
    Frequency option should be available since I want this scheduled job to be executed every day.
    Thanks,
    Arvind...
    Edited by: Arvind Arakotaram on Oct 30, 2009 4:01 PM

    Hi,
    You can use the below 2 BAPI's for background job's in external system.
    bapi_xbp_job_add_ext_step or bapi_xbp_add_job_step
    REgards
    VEnk@

  • How to run a job in another system

    This is the situation
    i want to test if a job, with ad external progra, that now is running in a Windows Application Server, can be moved in a linux Application server (and in another system), and if linux can process the *.bat file
    the jobs has a various step
    C:\*.bat  -> Progr. exit
    Z*      -> ABAP      
    Z*   -> ABAP      
    Z*_STEP1   -> ABAP      
    ZBAPI_* ->ABAP      
    C:\*.bat -> Progr. exit
    Anyone can help me to move it and schedulate the job?

    Hi,
    You have to convert the batch file of windows to shell script. and use that as external program  or command in the job definition instead of .bat file.You also have to edit the job definition in sap saying that the background server should be your Linux Application server.
    To convert *.bat file to shell script file this link would be helpful to you
    http://tldp.org/LDP/abs/html/dosbatch.html
    Reward points if  helps.
    Regards,
    Phani

  • How to schedule a job in SAP CPS

    Hi,
    I am new to SAP CPS.
    So please tell how to schedule a job in SAP CPS. And which kind of job cam be schedule means BAP report.
    Thanks
    Anurodh

    Hi,
    In the installation and administration guide you'll probably find some examples.
    The Job Definition you need is SAP_AbapRun to run any ABAP.
    You submit this, specify the parameters as desired, and scheduling information, and that should do the trick.
    That is assuming you have already connected CPS to an SAP system.
    Check the topics in the docs within the product and on SDN on:
    - Connecting to an SAP system
    - Submitting Jobs
    - SAP_AbapRun
    Regards,
    Anton.

  • How to schedule the job to run evry Sunday at 12 P.M IST.

    Hi Experts,
    I want to schedule a job which will run evry Sunday at 12 P.M IST.
    I have written the below script.
    [code]BEGIN
      SYS.DBMS_SCHEDULER.CREATE_JOB
           job_name        => 'SERVICE_SAL_FS.SAL_MESSAGE_BUFFER_PURGE_JOB'
          ,start_date      =>  SYSTIMESTAMP
          ,repeat_interval => 'FREQ=WEEKLY; BYDAY=SUN; BYHOUR=12;BYMINUTE=0; BYSECOND=0;'
          ,end_date        =>  NULL
          ,job_class       => 'DEFAULT_JOB_CLASS'
          ,job_type        => 'STORED_PROCEDURE'
          ,job_action      => 'SERVICE_SAL_FS.SAL_MESSAGE_BUFFER_PURGE_PROC'
          ,comments        => 'Run at 12 P.M.IST every Sunday'
          ,enabled            => TRUE
    END;[/code]
    But the server in US.
    [code]SELECT sysdate from Dual;
    6/11/2013 3:58:58 AM
    --But the time in India is 02:28 PM [/code]
    How to convert the timezone to IST.
    Please help me how to schedule the job to run evry Sunday at 12 P.M IST.
    Thanks.

    Did you read DBMS_SCHEDULER docs:
      The calendaring syntax does not allow you to specify a time zone. Instead the Scheduler retrieves the time zone from the start_date argument. If jobs must follow daylight savings adjustments you must make sure that you specify a region name for the time zone of the start_date. For example specifying the start_date time zone as 'US/Eastern' in New York will make sure that daylight saving adjustments are automatically applied. If instead the time zone of the start_date is set to an absolute offset, such as '-5:00', daylight savings adjustments are not followed and your job execution will be off by an hour half of the year.
      When start_date is NULL, the Scheduler will determine the time zone for the repeat interval as follows: 
    It will check whether the session time zone is a region name. The session time zone can be set by either:
    Issuing an ALTER SESSION statement, for example:
    SQL> ALTER SESSION SET time_zone = 'Asia/Shanghai'; 
      Setting the ORA_SDTZ environment variable.
      If the session time zone is an absolute offset instead of a region name, the Scheduler will use the value of the DEFAULT_TIMEZONE Scheduler attribute. For more information, see the SET_SCHEDULER_ATTRIBUTE Procedure.
      If the DEFAULT_TIMEZONE attribute is NULL, the Scheduler will use the time zone of systimestamp when the job or window is enabled.
    SY.

  • How to schedule a job occurring time for 1 1/2 hour in sql server

    how to schedule a job occurring time for 1 1/2 hour in sql server

    Hi,
    This is a known issue in the previous SQL Server version and has been fixed in SQL Server 2012. You should be able to set 90 minutes and the change would be saved in SQL Server 2012.
    http://connect.microsoft.com/SQLServer/feedback/details/346786/ssms-does-not-support-job-schedule-frequencies-greater-than-60-minutes
    Currently, you may schedule the job to occur every 1 hour or you may refer to the suggestion by Latheesh to get around this.
    Thank you for your understanding.
    Tracy Cai
    TechNet Community Support

  • How to schedule a job from r3 to BI daily ?

    Please let me know how to schedule a job frm bi to r3, that is i want to load data from a sd ds to a sd cube in bi. I do not want to use a PC and can i schedule a job daily without a PC, which can run daily after 10pm ,remember its not a manual schedule. Do we have any option to schedule in hourly, weekly, daily from bi to r3. If yes HOW ? i know we can do it thru infopackage group but will the infopackage group accept if its only a single load....I think it should have multiple infopackage rite to add it to a group or can it b a single job as well.
    Edited by: Manohar P on Oct 16, 2008 3:14 PM

    An infopackage group can only run infopackages, and unfortunately, you will need an ABAP program to trigger the event in R/3.  There is plenty of ABAP code in this forum to show you exactly how to do this. 
    Try this:
    Triggering a Process Chain From R/3 pgm
    R/3 Jobs Triggering  BW job
    You can also review OSS Note 135637.  This note will show from R/3 to BI (BW).  But you can reverse the logic to go from BI to R/3.
    Hope this helps.
    My suggestion would be to replace the infopackage group with a process chain, because you can call an ABAP program from a process chain.  You also have many more processes at your disposal using process chains.

  • How to schedule a job to run twice within a request set?

    How to schedule a job to run twice within a request set?

    Create one more stage for the same concurrent program.
    Thanks
    Nagamohan

  • How to schedule batch jobs to run after another periodically?

    Hi good people,
    I want to schedule batch jobs to run periodically one after another.
    Here is the problem:
    I have scheduled JOB1 to run once a week and I scheduled JOB2 to run after that job (JOB1). The problem is that JOB2 runs only after the first time that JOB1 runs. The second time the JOB1 runs the JOB2 is not started. I presume that the reason for that is that JOB2 is tied to the job number for the JOB1, and since a new job (with the new number) is created every week, the JOB2 is only tied to the first instance of JOB1.
    So does anyone have an idea how to get JOB2 to automatically run every week after JOB1? One idea is to use events, but that I'm hoping that there is a bit cleaner solution..
    Best Regards,
    Armin

    Hi
    Try scheduling both JOB1 & JOB2 in a single job in steps.
    First schedule JOB1 & then give JOB2 in steps.
    Kindly check the following link to do job scheduling in steps:
    http://help.sap.com/saphelp_47x200/helpdata/en/c4/3a7ed1505211d189550000e829fbbd/frameset.htm
    In the above help documentation, look for the topic <b>"job steps"</b> in
    "Background Processing: Concepts and Features"
    hope it helps!
    best regards,
    Thangesh

  • How to schedule a job ?

    I am using Weblogic Server 6.0. I want to make a schedule job in weblogic to
    connect download something regularly. Can anyone tell me how to make a
    schedule job ??
    Best Regards,
    Anna

    Anna <[email protected]> wrote:
    I already write the code by making use of time services....however,
    how to install it into Weblogic Server?
    Is it making an EJB and then deploy it to schedule the job or create a
    startup class to schedule it ? When i create a startup class called Timer,
    the Weblogic does not need any deployment. Then how the server know
    which class i talk about? Any steps i done incorrectly?If you use startup classes you need to put them and all application classes
    they need in the system classpath :
    http://e-docs.bea.com/wls/docs61/programming/packaging.html#1052224
    (and this will make your application non-redeployeable).
    Probably the better solution is to deploy your app as an EAR and use
    'load-on-startup' servlet instead of startup classes - web component
    is always deployed after ejb's and it can 'see' all EJB classes - you can
    do all the startup work in the servlet's init() method.
    Can anyone help ?
    Thanks
    Anna
    "Cameron Purdy" <[email protected]> wrote in message
    news:3b8a3b89$[email protected]..
    You can use Weblogic's time services, which can provide an event on a
    regular basis.
    Also, search back through the EJB newsgroup for "Indus". They have somesort
    of scheduling program.
    There is one other product that I can't remember the name of ... let mesee
    ... it's called "flux". Check that out if you get a chance.
    Peace,
    Cameron Purdy
    Tangosol Inc.
    << Tangosol Server: How Weblogic applications are customized >>
    << Download now from http://www.tangosol.com/download.jsp >>
    "Anna" <[email protected]> wrote in message
    news:3b8a1f08$[email protected]..
    I am using Weblogic Server 6.0. I want to make a schedule job in
    weblogic
    to
    connect download something regularly. Can anyone tell me how to make a
    schedule job ??
    Best Regards,
    Anna
    Dimitri

  • How to schedule a job poles for a entry in a table.

    Hi All ,
    I have to schedule a job which runs somw stored procedures only on sunday and monday of a week at 3 AM in the morning.
    The condition is that another application puts an entry into a table around 3 AM (some times before and some times late), now my should query
    count in the table and runs the procs , however once its done ,it should do it monday and then it should not run till next sunday.
    I have successfully created a job which keeps failing till it receives the entry and successfully runs the proc once the entry is there...
    However how to schedule this thing ..correctly I need help , I want this job to disable itself on sunday once the procs are run wake up next morning
    run again..and then next week ..
    Following is the job ,
    BEGIN
    -- Job defined entirely by the CREATE JOB procedure.
    DBMS_SCHEDULER.create_job (
    job_name => 'TESTING_FIRST_JOB',
    job_type => 'PLSQL_BLOCK',
    job_action => 'BEGIN SEODS.test_procedure_11292011(); END;',
    start_date => SYSTIMESTAMP,
    repeat_interval => 'freq=minutely; byminute=5',
    end_date => NULL,
    enabled => TRUE,
    comments => 'Job defined entirely by the CREATE JOB procedure.');
    end;
    =====================================================
    and following is the proc...
    create or replace
    procedure
    test_procedure_11292011 as
    var number;
    begin
    insert into SEODS.job_status
    values (systimestamp, 'JOB TEST_PROCEDURE_11292011 HAS STARTED SUCCESSFULLY');
    commit;
    SELECT COUNT(*)
    INTO var
    FROM seods.student_weekend_status;
    if var=0 then
    raise_application_error(-20101, 'There is no record in the student_weekend_status table');
    else
    all_realtime();
    end if;
    insert into SEODS.job_status
    values (systimestamp, 'JOB TEST_PROCEDURE_11292011 HAS FINISHED SUCCESSFULLY');
    commit;
    end;
    Thanks in advance , please help

    Hi,
    This is a known issue in the previous SQL Server version and has been fixed in SQL Server 2012. You should be able to set 90 minutes and the change would be saved in SQL Server 2012.
    http://connect.microsoft.com/SQLServer/feedback/details/346786/ssms-does-not-support-job-schedule-frequencies-greater-than-60-minutes
    Currently, you may schedule the job to occur every 1 hour or you may refer to the suggestion by Latheesh to get around this.
    Thank you for your understanding.
    Tracy Cai
    TechNet Community Support

  • How to schedule a Job in SAP DS ?

    AFAIK, a SAP data services job is an ATL (i.e XML) file/code. How do we schedule this code to run automatically ? What runs it ?
    In SSIS, Job = Package and it can be scheduled as a *job* in SQL server Agent. The agent runs it as per your schedule. So,
    is there some kind of server which executes the code in the ATL file ?

    Hi Terry,
    There are three ways you can manage batch job schedules
    1. Using the job scheduler
    When you schedule batch jobs using the SAP Business Objects Data Services job scheduler, it creates an entry in the operating system's scheduling utility on the Job Server computer. Windows uses the Task Scheduler and UNIX systems use the CRON utility. (Note that if you make changes to a schedule directly through these utilities, the job scheduler will not reflect those changes.)
    2. Scheduling jobs in SAP Business Objects Business Intelligence platform
    If you are using SAP Business Objects Business Intelligence platform and you want to manage your
    SAP Business Objects Data Services job schedules in that application, first create a connection to a
    Central Management Server (CMS), then configure the schedule to use that server.
    3. Using a third-party scheduler
    When you schedule jobs using third-party software:
    • The job initiates outside of SAP Business Objects Data Services.
    • The job runs from an executable batch file (or shell script for UNIX) exported from SAP Business Objects Data Services.
    Note:
    When a third-party scheduler invokes a job, the corresponding Job Server must be running.
    Regards
    M Ramesh

  • How to schedule a job in DBA_JOBS

    Hi All,
    I have to schedule a job called dwsp_mig_purordssku(sysdate,null) on every sunday at 8.00 PM.
    This procedure must take two parameter one is sysdate and another can be null.
    How shouls I do it with dbms_job.sumbit?
    Thanks
    Sid

    Why not using DBMS_SCHEDULER?
    BEGIN
    DBMS_SCHEDULER.CREATE_JOB (
       job_name             => 'dwsp_mig_purordssku_sun',
       job_type             => 'PLSQL_BLOCK',
       job_action           => 'BEGIN dwsp_mig_purordssku(SYSDATE, NULL); END;',
       start_date           => SYSDATE,
       repeat_interval      => 'FREQ=WEEKLY; BYDAY=SUN; BYHOUR=20; BYMINUTE=0;BYSECOND=0',
       enabled              =>  TRUE,
       comments             => 'Run dwsp_mig_purordssku on Sunday');
    END;
    {code}
    Note: the start_date does not mean that the job will start on  SYSDATE because the repeat_interval is set to be executed on Sunday weekly.
    As soon as you enter the job you will see that the next schedule is on Sunday at 8am:
    {code:sql}
    SELECT job_name, last_start_date, next_run_date
      FROM dba_scheduler_jobs
    WHERE LOWER (job_name) = 'dwsp_mig_purordssku_sun';
    JOB_NAME                       LAST_START_DATE                      NEXT_RUN_DATE
    DWSP_MIG_PURORDSSKU_SUN                                             13-MAY-12 20.00.00.000000 AM +02:00
    {code}
    Regards
    Al
    Edited by: Alberto Faenza on May 9, 2012 5:34 AM
    Edited by: Alberto Faenza on May 9, 2012 6:47 AM
    Corrected the time from 8 to 20 (it was 8pm in the initial message)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • How to schedule two jobs from two different work repository at a time?

    Hi All,
    I have a scenario where I want to schedule two jobs at a time from two work repository.
    Explanation:
    Master Repository-A
    Work Rep-B
    Work Rep-C
    Now I need to schedule two scenario one from Work rep B and other from Work Rep-C
    As we know that odiparams batch file contains the connection details and at one time it can hold only one work repository name.
    Odiparams data:
    rem Repository Connection Information
    rem
    set ODI_SECU_DRIVER=oracle.jdbc.driver.OracleDriver
    set ODI_SECU_URL=jdbc:jdbc:oracle:thin:@10.10.10.10:1521:orcl
    set ODI_SECU_USER=odi_snpm
    set ODI_SECU_ENCODED_PASS=aYyHZZCrzk5SjQ9rPOIUHp
    set ODI_SECU_WORK_REP=*ODI_LOCALDEV_WRKREP*
    set ODI_USER=SUPERVISOR
    set ODI_ENCODED_PASS=LELKIELGLJMDLKMGHEHJDBGBGFDGGH
    Scheduler agent will pick this information from the odiparams file and update the schedule.
    So If I want to schedule two job, how it is possible?
    I tried all possible things but didn't get the proper solution?
    Edited by: user10765509 on Jul 21, 2010 4:58 AM

    You can do it in the following way
    1. copy/paste the original odiparams.bat file
    2. give it a name say odiparams_a.bat
    3. specify the work repository A related information in odiparams_a.bat
    4. Make another copy of odiparams.bat file
    5. give it a name say odiparams_b.bat
    6 specify the work repository B related information in odiparams_b.bat
    7. now make 2 copies of agentscheduler.bat give the name as follows
    agentscheduler_a.bat and agentscheduler_b.bat
    8. edit agentscheduler_a.bat and change
    call "%ODI_HOME%\bin\odiparams.bat"
    with
    call "%ODI_HOME%\bin\odiparams_a.bat"
    9. edit agentscheduler_b.bat and change
    call "%ODI_HOME%\bin\odiparams.bat"
    with
    call "%ODI_HOME%\bin\odiparams_b.bat"
    10. now start two scheduler agent by calling agentscheduler_a.bat and agentscheduler_b.bat
    Thanks,
    Sutirtha
    PS : Take a backup of each and every file getting modified

  • How to schedule dependent job in oracle

    I would like to schedule a job which should be dependent on the completion of previous job. How is it achieved in oracle 10g

    refer to this examples about DBMS_SCHEDULER.CREATE_CHAIN to form job dependency.

Maybe you are looking for