‎2007 Apr 23 2:07 AM
Hello, All!!
Can someone please advise if this is possible in ABAP? Sample code is:
exec sql.
GRANT SELECT ON :tabname TO 'DB_ROLE'
endexec.
I am getting a ORA-00903 error, the trace file is showing "GRANT SELECT ON :A0 TO 'OWB_BI_READONLY';"
Please advise ASAP; points guaranteed for helpful answers.
Best Regards,
Reenal
‎2007 Apr 23 2:45 AM
Hi Reenal,
Try using the below code:
data: zsql type ref to CL_SQL_STATEMENT.
CREATE OBJECT ZSQL.
tabname = <i>tablename</i>.
data: lv_state(200),
lv_strstate type string.
concatenate
'GRANT SELECT ON'
tabname
'to OWB_BI_READONLY'
into lv_state separated by space.
lv_strstate = lv_state.
translate lv_strstate to upper case.
TRY.
CALL METHOD ZSQL->EXECUTE_DDL
EXPORTING
STATEMENT = lv_strstate.
catch CX_SQL_EXCEPTION INTO exc_ref.
error_text = exc_ref->get_text( ).
MESSAGE error_text TYPE 'I'.
ENDTRY.
‎2007 Apr 23 2:15 AM
Hi,
The description for ORA-00903 says "invalid table name".
ORA-00903: invalid table name
Make sure you have the correct table name..
Thanks,
Naren
‎2007 Apr 23 2:45 AM
Hi Reenal,
Try using the below code:
data: zsql type ref to CL_SQL_STATEMENT.
CREATE OBJECT ZSQL.
tabname = <i>tablename</i>.
data: lv_state(200),
lv_strstate type string.
concatenate
'GRANT SELECT ON'
tabname
'to OWB_BI_READONLY'
into lv_state separated by space.
lv_strstate = lv_state.
translate lv_strstate to upper case.
TRY.
CALL METHOD ZSQL->EXECUTE_DDL
EXPORTING
STATEMENT = lv_strstate.
catch CX_SQL_EXCEPTION INTO exc_ref.
error_text = exc_ref->get_text( ).
MESSAGE error_text TYPE 'I'.
ENDTRY.
‎2007 Apr 23 2:50 AM