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

SE16 Auth bypass

Former Member
0 Likes
1,631

Hello

I need to create a program to displays the SE16 selection screen and report for a specific table and without the authorisation checks.

Originally I tried this:

CALL FUNCTION 'RS_TABLE_LIST_CREATE'
  EXPORTING
    table_name         = 'TABLE_NAME''
    no_structure_check = 'X'

Which worked, but still required the user to have SE16 permissions. Next I tried this:

DATA mem_id(16) TYPE c VALUE 'TABELLENANZEIGER'.
DATA action(4) TYPE c VALUE 'ANZE'.
DATA mainflag TYPE c VALUE 'X'.
DATA viewgrant TYPE c value ''.
DATA global_auth(4) TYPE c VALUE 'SHOW'.
DATA g_data_exit TYPE c value ''.

EXPORT action mainflag viewgrant global_auth g_data_exit
                    TO MEMORY ID mem_id.

* Bypass auth check
DATA:  l_progname  TYPE rsnewleng-programm
      VALUE '/1BCDWB/DBTABLE_NAME'.
SUBMIT (l_progname) VIA SELECTION-SCREEN AND RETURN.

Which again worked fine and even bypassed SE16 auth checks, but seems to give some odd side effects related to the EXPORT statement.

I'm hoping there's a better way to do this, any ideas?

Edited by: Chris Turner on Dec 23, 2008 11:18 AM

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,276

Hi,

You copy the FM into your customized one and proceed.

Regards

Srini

Hello

I need to create a program to displays the SE16 selection screen and report for a specific table and without the authorisation checks.

Originally I tried this:

CALL FUNCTION 'RS_TABLE_LIST_CREATE'
  EXPORTING
    table_name         = 'TABLE_NAME''
    no_structure_check = 'X'

Which worked, but still required the user to have SE16 permissions. Next I tried this:

DATA mem_id(16) TYPE c VALUE 'TABELLENANZEIGER'.
DATA action(4) TYPE c VALUE 'ANZE'.
DATA mainflag TYPE c VALUE 'X'.
DATA viewgrant TYPE c value ''.
DATA global_auth(4) TYPE c VALUE 'SHOW'.
DATA g_data_exit TYPE c value ''.

EXPORT action mainflag viewgrant global_auth g_data_exit
                    TO MEMORY ID mem_id.

* Bypass auth check
DATA:  l_progname  TYPE rsnewleng-programm
      VALUE '/1BCDWB/DBTABLE_NAME'.
SUBMIT (l_progname) VIA SELECTION-SCREEN AND RETURN.

Which again worked fine and even bypassed SE16 auth checks, but seems to give some odd side effects related to the EXPORT statement.

I'm hoping there's a better way to do this, any ideas?

Edited by: Chris Turner on Dec 23, 2008 11:18 AM

4 REPLIES 4
Read only

Former Member
0 Likes
1,277

Hi,

You copy the FM into your customized one and proceed.

Regards

Srini

Read only

0 Likes
1,276

I'd like to avoid creating an FM if at all possible, I'm just looking for a quick function or procedure call to provide SE16 functionality for a given table without the auth checks.

Read only

0 Likes
1,276

The best way is to copy and do as few more SE16 authorization checks are inserted in upper versions and you cannot have a control.

Regards

Srini

Read only

Former Member
0 Likes
1,276

Call FM :call_transaction_from_table

it bypasses all the auth checks.

you can give the transaction name as a parameter to this FM.

{

call Functio 'call_transaction_from_table '

exporting I_TCODE = 'SE16.'

}