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 PMHi,
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
AnurodhHi,
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 PMAn 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,
ArminHi
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 -
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,
AnnaAnna <[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 helpHi,
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
SidWhy 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 AMYou 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
-
I got married, changed my Facebook name and gave my account a new password. Now, under settings and Facebook they have my ITunes/Apple ID and under it says "please sign in using (my old Facebook name) and under that is password. Only that old Faceboo
-
Creation of G/L account (multilingual)
Hi Guys, Is it possible to create G/L accounts in more languages?E.g when logging on in italian I wanna see only the italian description for this account. We are on ECC 6.0, currently non-unicode. Thanks in advance Thomas
-
String Array Constant Addition
Is there an elegant way of marking the last element in a string array constant? i.e. I take an Array constant, and add a simple string to it, so that it becomes a String Array Constant. Now I add elements 1 and 2 and 3. But now I want to take element
-
Authentification and Security in WebApp with JSP
Hello to all. I'm developing a Web Applications with JSP's. To use the application a user must first Login. To restrict access via URL typing I have included in every JSP page a user_logged_in_check page that verifies that the user is logged in, and
-
Pricing Table with Condition Types
Hi Team, I am searching for a table i had used sometime back containing Pricing Procedure with the Condition tyeps used in each of the procedures giving a clear view. Does anyone know of that T table? Thanks . Waiting for an early response.. Regards,