Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Auto-working programs

Former Member
0 Kudos

Good morning all,

I have to make some abap programs worked at a time.

How can I do that?

Thanks.

6 REPLIES 6

gopi_narendra
Active Contributor
0 Kudos

Schedule the jobs for those respective programs in SM36 to work at at time.

Regards

Gopi

sreeramkumar_madisetty
Active Contributor
0 Kudos

Hi

<b>Go for background scheduled jobs.</b>

Regards,

Sree

Former Member
0 Kudos

Hi,

Method 1: in SE38

type your program name

choose Program -> Execute -> Background

Method 2: in SM36

Create a job with your program name

it will run in bg

We can Run an ABAP Program in Background but only Executable program i.e Report.

1. Tcode SE38.

Create the Variant with Required selection criteria.

2. Tcode SM36

Create a Background Job

Create a Step and Assign the Report and Variant.

Set the Start Condition (Date & Time )

Save the Job.

3. Monitor the jOB Status in Tcode SM37

This is how to do it through code

data: lv_job_name like tbtco-jobname,

lv_job_nr like tbtco-jobcount,

lv_job_released type c,

lv_job_start_sofort type c,

lv_print_parameters type pri_params.

lv_job_name = 'Z_test'. " your background program name

call function 'JOB_OPEN'

exporting

jobname = lv_job_name

importing

jobcount = lv_job_nr

exceptions

cant_create_job = 1

invalid_job_data = 2

jobname_missing = 3

others = 4.

if syst-subrc = 0.

*submit job with all the selection screen params...

submit (lv_job_name)

with applfile = applfile

with p_lines = p_lines

with rfc_dest = rfcdest

with p_selmtd = lv_selmtd

with px_shsim = px_shsim

with px_sherr = px_sherr

user syst-uname

via job lv_job_name number lv_job_nr and return.

if sy-subrc = 0.

call function 'JOB_CLOSE'

exporting

jobcount = lv_job_nr

jobname = lv_job_name

strtimmed = 'X'

importing

job_was_released = lv_job_released

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.

if syst-subrc <> 0.

message i162(00) with

'An error occured while closing the background job.'.

stop.

endif.

endif.

endif.

skip 1.

write: / 'Background process', lv_job_name ,

'called successfully' no-gap.

write: / 'You can check the job in transaction SM37'.

Thanks,

Reward If Helpful.

0 Kudos

Hi viji,

I am not clear with Monitor Job Status, sm37, and the code.

What does this code segment:


if syst-subrc = 0.
*submit job with all the selection screen params...
submit (lv_job_name)
with applfile = applfile
with p_lines = p_lines
with rfc_dest = rfcdest
with p_selmtd = lv_selmtd
with px_shsim = px_shsim
with px_sherr = px_sherr
user syst-uname
via job lv_job_name number lv_job_nr and return.

Thanks.

Former Member
0 Kudos

Thanks for your replies:

What is monitoring job status.

Thanks.Deniz.

0 Kudos

Jobs are created using the transaction SM36. But if you wnt to know the status of the jobs created by SM36, you can monitor the job status using the transaction SM37.

Monitor job status is to going thru the status of the job, whether if it is released, finished, cancelled etc...

For ex just create a job in SM36 and See SM37, you can come to know it.

Regards

Gopi