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: 

How to restrict users changing a job step (changing the program) from sm37

Former Member
0 Kudos

Hello Everyone...

I have the below requirement please help me.

1.User should be able to schedule a job from any program that user access to(e.g rsparam can be submitted for background from sa38)

2. User should be able to cancel/delete his job later if he wants but should not be able to change the job step later.

First step accomplished using s_btch_job (release field). Then i gave sm37 tcode to view or cancel his jobs but it's allowing user to change the job step. Below are the steps performed from user side.

SA38>RSPARAM>submit in background.

SM37>View jobs> select job> Goto change mode from job menu> select step> change the step and save.

I want to restrict the user to select his job and cancel or delete it without having the job change option. I tried enabling and disabling all the fields and objects in s_btch_adm, s_btch_job and s_btch_nam. Please help. we are on 4.7EE.

Thanks,

Ramesh

1 ACCEPTED SOLUTION

Former Member
0 Kudos

If the user has SA38 and "correct" authorizations, then there is no additional risk which is of any immediate nature.

If they schedule the report into the background from the report transactions themselves (e.g. S_ALRxxxx...) and you want to give them the option to delete the scheduled job but not change it, then what you are looking for is transaction SMXX in combination with S_BTCH_JOB "RELE" only if the job is also to be released.

Another option is to create a ZSM37 which makes a tcode check for report type transactions and then schedules the report. This way they can change them as well but must be authorized for the transaction code.

The SMX or SMXX route is much easier.

Cheers,

Julius

4 REPLIES 4

Former Member
0 Kudos

Hi please try this,

In your role I am assuming that you have only SA38 and SM37

go object

S_BTCH_ADM

Background administrator ID BTCADMIN ( please put the value N and do the test )

If this does not work then put Y for a second test

and go to object S_BTC_JOB

choose all the display option ( LIST, PROT, RELE, SHOW) from the following for field name JOBACTION

DELE Delete Background Jobs

LIST Display Spool Requests Created by Job

PLAN Copy or Repeat Jobs

PROT Display Job Processing Log

RELE Release Jobs (Released Automatically When Scheduled)

SHOW Display Job Queue

I think the test1 might fail

but surely test2 should provide you with the correct result.

Hope this helps

Also make sure that if you want to achieve this the job was released by the user.

Tracing the action and finding the object will be the ideal and best option.

Edited by: Franklin Jayasim on Jun 23, 2010 6:59 PM

Former Member
0 Kudos

If the user has SA38 and "correct" authorizations, then there is no additional risk which is of any immediate nature.

If they schedule the report into the background from the report transactions themselves (e.g. S_ALRxxxx...) and you want to give them the option to delete the scheduled job but not change it, then what you are looking for is transaction SMXX in combination with S_BTCH_JOB "RELE" only if the job is also to be released.

Another option is to create a ZSM37 which makes a tcode check for report type transactions and then schedules the report. This way they can change them as well but must be authorized for the transaction code.

The SMX or SMXX route is much easier.

Cheers,

Julius

Former Member
0 Kudos

Hello Ramesh,

1.User should be able to schedule a job from any program that user access to(e.g rsparam can be submitted for background from sa38)

SA38

S_PROGRAM

USER action : BTCSUBMIT, Variants(any) (chedule the prog to run as background job)

Auth group : only those programs the user should execute i.e RSPARAM auth group

A user with batch adm privileges can do anything with all jobs in all clients

S_BTCH_ADM : Y (u should not assign it in production,usually basis guys will have this access)

user can schedule the job in class A or B

S_BTCH_ADM:N

the user will be restricted to work with only class c(low priority) jobs and to only his or her own jobs in the client that he or she is logged on to.

2. User should be able to cancel/delete his job later if he wants but should not be able to change the job step later.

1. S_BTCH_JOB: This is used for granting auth for background jobs.

Without any Object: each user can schedul, delete, display detail for his OWN job (in note 101146).

- S_BTCH_JOB: (RELE-PROT): the user could release and see log for his OWN job

2. S_BTCH_JOB: .

DELE : delete background jobs of other users

LIST: Display spool request created by jobs of other users

PROT: display logs created by the jobs of other users.

RELE: relese own jobs automatically during scheduling,to release the jobs scheduled by other users,the user need to be the background

job adm i.e S_BTCH_ADM : Y

I agree with Julius,

By default all the users having access to Sm37 and SMX can schedule, cancel delete and check the status of their

own jobs with no additional special auth.

NoTE1:

SMX is just enhanced in the new versions of SAP to SMXX, please have a look into the following SAP Notes:

846002 - Changes in transaction SMX

- 912117 - New transaction SMXX (display all own jobs) from ECC6 onwards

SMXX:

After you call this transaction, the system displays an overview of all jobs by the current user. A selection screen is not provided for this transaction.

Thanks,

Sri

Former Member
0 Kudos

Hi All,

Thank you very much for your inputs, really every answer helped. Though Julius reply done my job, thank you again.

Points awarded.

Cheers,

R