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: 

Unable to avoid tcode check after update SE97

avandenhout
Discoverer

Hello,

For a change project, our customers requested the possibility to be able to cancel invoices through VF02, while avoiding direct access to VF11.

In order to achieve this, I have tried to put the check indicator in SE97 to NO for tcode VF11 and removed the VF11 transaction from the respective end-user role.

To my understanding, this should prevent the tcode check when CALL_TRANSACTION is performed. Trying to chose the option cancel invoice now however results in the standard message that there is no authorization for VF11.

Any suggestions as to what I am overlooking? (or am I perhaps misunderstanding the SE97 functionality).

Thanks in advance.

1 ACCEPTED SOLUTION

Former Member
0 Kudos

You cannot use SE97 for all scenarios of you already are in the transaction called. It checks itself again, as from those screens other menu options are available as well (which might not be greyed out based on authorizations).

In that case the user will have access to VF11 anyway, even if you suppress the intial tcode check...

Your options are an alternate choice of tcode or a more granular application object restriction if there appeared to be a reason for not authorizatizing VF11.

What was the reason for this requirement?

Cheers,

Julius

4 REPLIES 4

Former Member
0 Kudos

You cannot use SE97 for all scenarios of you already are in the transaction called. It checks itself again, as from those screens other menu options are available as well (which might not be greyed out based on authorizations).

In that case the user will have access to VF11 anyway, even if you suppress the intial tcode check...

Your options are an alternate choice of tcode or a more granular application object restriction if there appeared to be a reason for not authorizatizing VF11.

What was the reason for this requirement?

Cheers,

Julius

Former Member
0 Kudos

As the calling transaction code is VF02 and called transaction is VF11, you need to make check indicator "No" for transaction VF02 not VF11, then VF02 won't check VF11. Hope this helps

0 Kudos

Hello, it was set from VF02 apologies if this was not clear in the initial email.

@Julius, I am not sure I understand your reply fully, however the result that I have seems to be supported by your reply. The reason we are trying to set this is following.

- Invoice cancelation was being abused by staff members / went unchecked when it came to large amounts.

- For this reason, a workflow approval was implemented for this process, based on an information field made mandatory in tcode VF02

- To ensure people follow this process, we wanted to avoid direct access to VF11, but only indirect use through VF02 to enforce use of this field and the related workflow.

That is the reason we suppressed the tcode check for VF11 and tried to remove the code from initial check in the corresponding SAP roles.

0 Kudos

See include MV60AF0F_FCODE_STOR (in SE38).

If you are in any tcode starting with VF0.. then the check on VF11 is hardcoded.

SE97 can only influence the subsequent CALL TRANSACTION to VF11. It cannot deactivate the prior hardcoded check.

You can consider opening a message with SAP and ask them to replace the hardcoding with a call to function module AUTHORITY_CHECK_TCODE to make the check. Then SE97 will work again.

Cheers,

Julius