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: 

Transaction only available through another transaction.......

Former Member
0 Kudos

Hi,

I will explain what I am trying to do. We have created a bespoke program that uses the transaction YP42 to run it. However from this program there is a link to run CS02 so the user needs to have access to CS02 also. So currently the user has both CS02 and YP42 transactions contained within a role that has been granted to them. I have been asked if I can stop them running CS02 directly from the main menu and force them to access CS02 by going into YP42 first. Is there a way of doing this? Hopefully this makes sense 🙂

Regards

Jim

1 ACCEPTED SOLUTION

raymond_giuseppi
Active Contributor

Remove their authorization for CS02 (S_TCODE and menu of role)

For old versions if you didn't check authorization in YP42 associated program the CALL TRANSACTION didn't check it, but some authorization(s) associated to CS02 may be required, look at CS02 thru SU24 and copy authorization (except S_TCODE) to YP42 and regenerate role (PFCG).

For recent versions also use the WITHOUT AUTHORITY-CHECK option of the CALL TRANSACTION statement.

Regards,
Raymond

4 REPLIES 4

raymond_giuseppi
Active Contributor

Remove their authorization for CS02 (S_TCODE and menu of role)

For old versions if you didn't check authorization in YP42 associated program the CALL TRANSACTION didn't check it, but some authorization(s) associated to CS02 may be required, look at CS02 thru SU24 and copy authorization (except S_TCODE) to YP42 and regenerate role (PFCG).

For recent versions also use the WITHOUT AUTHORITY-CHECK option of the CALL TRANSACTION statement.

Regards,
Raymond

0 Kudos

Hi Raymond,

Many thanks for the answer. Hopefully this will resolve the situation.

Regards

Jim

Sandra_Rossi
Active Contributor

Technically, by default, the statement CALL TRANSACTION 'CS02' does not check the authorization S_TCODE for CS02. So, if you remove CS02 from user's authorizations, it should work. Be careful, sometimes the SAP transactions do LEAVE TO TRANSACTION sy-tcode to restart themselves (to go from detail screen to initial screen), and this statement checks the authorization contrary to CALL TRANSACTION, so you should check whether CS02 is concerned. There's also the case where there are 2 transactions for change/display mode, so do this check too.

Documentation:

0 Kudos

Hi Sandra,

Many thanks also for your answer 🙂

Regards

Jim