Application Development and Automation 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: 
Read only

Background Process

Former Member
0 Likes
406

An ABAP program creates a batch input session. We need to submit the Program and the Batch Input Session in the Background. How to do it?

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
380

Hi,

1.In SM36; in Job wizard, execute your ABAP program to create the session in a job with other required parameters. This would create a session.

2. Use SM36 again to create a second job with a condition that this has to start after the first job. Use program RSBDCSUB with the session name which has been created in step 1.

hope this helps.

Murugesh AS

2 REPLIES 2
Read only

Former Member
0 Likes
381

Hi,

1.In SM36; in Job wizard, execute your ABAP program to create the session in a job with other required parameters. This would create a session.

2. Use SM36 again to create a second job with a condition that this has to start after the first job. Use program RSBDCSUB with the session name which has been created in step 1.

hope this helps.

Murugesh AS

Read only

Former Member
0 Likes
380

Hi,

There are two ways for you to handle,

one manually setting up the job through SM36 which is better and convinient,

secondly through program using FM's JOB_OPEN, SUBMIT, JOB_CLOSE.

Find below steps in doing both:

Procedure 1:

1. Goto Trans -> SM36

2. Define a job with the program and variant if any

3. Click on start condition in application tool bar

4. In the pop-up window, click on Date/Time

5. Below you can see a check box "Periodic Job"

6. Next click on Period Values

7. Select "Other Period"

8. Now give '15' for Minutes

9. Save the job

Procedure 2 via Program:

Below is a sample code for the same. Note the ZTEMP2 is the program i am scheduling with 15mins frequency.

DATA: P_JOBCNT LIKE TBTCJOB-JOBCOUNT,

L_RELEASE(1) TYPE c.

CALL FUNCTION 'JOB_OPEN'

EXPORTING

JOBNAME = 'ZTEMP2'

IMPORTING

JOBCOUNT = P_JOBCNT

EXCEPTIONS

CANT_CREATE_JOB = 1

INVALID_JOB_DATA = 2

JOBNAME_MISSING = 3

OTHERS = 4.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

SUBMIT ZTEMP2 VIA JOB 'ZTEMP2' NUMBER P_JOBCNT

TO SAP-SPOOL WITHOUT SPOOL DYNPRO

WITH DESTINATION = 'HPMISPRT'

WITH IMMEDIATELY = SPACE

WITH KEEP_IN_SPOOL = 'X' AND RETURN.

CALL FUNCTION 'JOB_CLOSE'

EXPORTING

JOBCOUNT = P_JOBCNT

JOBNAME = 'ZTEMP2'

STRTIMMED = 'X'

PRDMINS = 15

IMPORTING

JOB_WAS_RELEASED = L_RELEASE

EXCEPTIONS

CANT_START_IMMEDIATE = 1

INVALID_STARTDATE = 2

JOBNAME_MISSING = 3

JOB_CLOSE_FAILED = 4

JOB_NOSTEPS = 5

JOB_NOTEX = 6

LOCK_FAILED = 7

INVALID_TARGET = 8

OTHERS = 9.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

Hope the above helps you.

1. If you want to run something immeidately in the background, then you can use the SUBMIT REPORT option.

2. IF you want to schedule the job, you can call the functions, JOB_OPEN, JOB_SUBMIT / SUBMIT REPORT THROUGHT JOB NUMBER, JOB_CLOSE.

cheers

nagaraju.m