RPM - BADI/FM/TABLES to find authorizations for item in ABAP

Hi all.
I have an issue.
I am italian and I am not very good on writing in english, I am sorry for this.
I must hide a field (STATUS for item dashboard) for some users (tab. Authorizations).
I have write my code in class /RPM/OBJECT_SERVICES, method GET_FIELD_INFO.
I need to find BADI, FM or tables to read the authorizated user for a specificated item.
Can you help me?
Thanks in advance.
Vanessa

Resolved!!!
ACO_USER table!!!
Code:
METHOD /rpm/if_ex_item_api~item_ui_config_modify.
DATA ls_field_description LIKE LINE OF ct_field_description.
DATA lo_activity TYPE aco_actvt.
**DEBUG!!! - inizio
DATA lo_exit.
DO.
IF lo_exit = 'X'.
EXIT.
ENDIF.
ENDDO.
**DEBUG!!! - fine
LOOP AT ct_field_description INTO ls_field_description WHERE fieldname EQ 'STATUS'.
SELECT SINGLE activity
FROM aco_user
INTO lo_activity
WHERE object_id = is_item_attributes-guid
AND user_id = sy-uname
AND type = 'RIH'. "Item
IF lo_activity = 'Write'.
MOVE 'X' TO ls_field_description-enabled.
MOVE 'X' TO ls_field_description-visible.
MOVE 'X' TO ls_field_description-required.
MOVE ' ' TO ls_field_description-read_only.
MODIFY ct_field_description FROM ls_field_description.
ENDIF.
ENDLOOP.
ENDMETHOD.

Similar Messages

  • RPM - find authorizations for item in ABAP

    Hi Experts,
    I have an issue.
    I am italian and I am not very good on writing in english, I am sorry for this.
    I must hide a field (STATUS for item dashboard) for some users (tab. Authorizations).
    I have write my code in class /RPM/OBJECT_SERVICES, method GET_FIELD_INFO.
    I need to find FM or tables to read the authorizated user for a specificated item.
    Can you help me?
    Thanks in advance.
    Vanessa

    Hi!
    Your information son been precious.
    E' own the table that I tried.
    They have succeeded!Thanks!
    In the event it can be useful to others, here the code:
    METHOD /rpm/if_ex_item_api~item_ui_config_modify.
      DATA ls_field_description LIKE LINE OF ct_field_description.
      DATA lo_activity          TYPE aco_actvt.
    **DEBUG!!! - inizio
       DATA lo_exit.*
       DO.*
         IF lo_exit = 'X'.*
           EXIT.*
         ENDIF.*
       ENDDO.*
    **DEBUG!!! - fine
      LOOP AT ct_field_description INTO ls_field_description WHERE fieldname EQ 'STATUS'.
        SELECT SINGLE activity
          FROM aco_user
          INTO lo_activity
         WHERE object_id = is_item_attributes-guid
           AND user_id   = sy-uname
           AND type      = 'RIH'. "Item
        IF lo_activity = 'Write'.
          MOVE 'X' TO ls_field_description-enabled.
          MOVE 'X' TO ls_field_description-visible.
          MOVE 'X' TO ls_field_description-required.
          MOVE ' ' TO ls_field_description-read_only.
          MODIFY ct_field_description FROM ls_field_description.
        ENDIF.
      ENDLOOP.
    ENDMETHOD.

  • Tables to find  Invoice for a mocement  type  101.

    Hi,
         My requirement is to find out invoice for all the material which has movement type 101. So please I need flow logic and tables   for this requirement .
    thanks
    Imran

    Hi,
    Try table EKBE, it contains all details. BWART - Movement type and BEWTP = Q - Invoice/ E - Goods Receipt.
    Regards
    Karthik D
    P.S.: You have to design the Flow logic, start writing the code and post it if you have any problem in it.

  • Authorizations for testing of ABAP Web Services

    Can somebody tell me which authorizations/roles I need to assign to a user with SAP WAS 6.40 ABAP so that he will be able to test a simple ABAP Web Service with the Java Service home page of this service?
    I tried this with the roles SAP_BC_DWB_ABAPDEVELOPER and SAP_BC_WEBSERVICE_ADMIN but this seams not to be enough and I could not find a hint on how I could find out what is going wrong.
    The user gets an error message on the top of the service home page when he submitted the service request:
    "An error has occurred. Maybe the request is not accepted by the server:
    Authority check failed"
    The service is configured with standard authentication. On the service test page the user gets a login screen which he passes successfully. The error occurs afterwards when the services test is executed.
    Many thanks!
    Best regards, Birgit

    Hi,
    1. log on to SAP system with user XXX .
    2. Do your steps to call webservice from JAVA Service home page - use the same user id for log on.
    3. As soon as you see the error message as you mentioned
    Run transaction SU53 in the target SAP system . This should tell you the authority object where the failure had happend.
    Hope this helps.
    Regards
    Raja

  • Function Module/Table to Retrieve subobjects for a main object.

    Hi experts,
    Is there any FM or table to find subobjects for a main object for example, in SE80 when you give an object say MP000100, it gives the list of subobjects associated with it like screens, inlcudes fields...etc, or is there any other way?
    Thanks in Advance.

    Hi Mahesh,
    Thanks for your reply. The Table which you have given me is helpful, but I need to find the subobjects of any given object. For example, for module pool mpXXXX00, i need to know all the subobjects, related to this module pool. The main object can be anything. If it is a (report, WDA program etc) I need to get the list of sub objects tied to the main object.
    Hope you can understand my requirement.
    Thanks and regards.

  • Standard table to find all cubes loaded recently

    Hi,
    Is there any standard table to find out for all cubes in the system when it was loaded recently? Please let me know....
    Thanks in advance,
    Jaya

    Hi,
    Please sort on Date Time Stamp in the tables :
    rsreqdone
    RSSELDONE
    -Vikram

  • Error :-Cancel transfer order for item

    Hi,
    The material has batch split and we are facing an error while cancelling transfer order for one item.Now here 4 items are there out of which item 1 is batch split i am able to cancel transfer order for 2,3 and 4 item whereas in item 1,sub category 10 (pick quantity is grade out) can you suggest why i am not able to cancel it.
    Thanks,
    Dharmesh

    Hello,
    Since item 10 is covered via WM hence the picking qty is grayed out.
    You can go the document flow and find out for item 10 what is the TO no and also if its  completed ( confirmed) or not. If its confirmed, then you cant cancel the TO.
    If its no you can cancel the TO via LT15.
    Thanks,

  • Want  Authorization for SM30 in particular table

    Hi friends,
    i am created a ztable and also created table maintanence generator.
    now my problem is, i want to  Authorization for SM30 in particular table.
    Thanks & Rgards,
    Vallamuthu.M

    Hi this will help u.
    In general different users will be given different authorizations based on their role in the orgn.
    We create ROLES and assign the Authorization and TCODES for that role, so only that user can have access to those T Codes.
    USe SUIM and SU21 T codes for this.
    Much of the data in an R/3 system has to be protected so that unauthorized users cannot access it. Therefore the appropriate authorization is required before a user can carry out certain actions in the system. When you log on to the R/3 system, the system checks in the user master record to see which transactions you are authorized to use. An authorization check is implemented for every sensitive transaction.
    If you wish to protect a transaction that you have programmed yourself, then you must implement an authorization check.
    This means you have to allocate an authorization object in the definition of the transaction.
    For example:
    program an AUTHORITY-CHECK.
    AUTHORITY-CHECK OBJECT <authorization object>
    ID <authority field 1> FIELD <field value 1>.
    ID <authority field 2> FIELD <field value 2>.
    ID <authority-field n> FIELD <field value n>.
    The OBJECT parameter specifies the authorization object.
    The ID parameter specifies an authorization field (in the authorization object).
    The FIELD parameter specifies a value for the authorization field.
    The authorization object and its fields have to be suitable for the transaction. In most cases you will be able to use the existing authorization objects to protect your data. But new developments may require that you define new authorization objects and fields.
    http://help.sap.com/saphelp_nw04s/helpdata/en/52/67167f439b11d1896f0000e8322d00/content.htm
    To ensure that a user has the appropriate authorizations when he or she performs an action, users are subject to authorization checks.
    Authorization : An authorization enables you to perform a particular activity in the SAP System, based on a set of authorization object field values.
    You program the authorization check using the ABAP statement AUTHORITY-CHECK.
    AUTHORITY-CHECK OBJECT 'S_TRVL_BKS'
    ID 'ACTVT' FIELD '02'
    ID 'CUSTTYPE' FIELD 'B'.
    IF SY-SUBRC <> 0.
    MESSAGE E...
    ENDIF.
    'S_TRVL_BKS' is a auth. object
    ID 'ACTVT' FIELD '02' in place 2 you can put 1,2, 3 for change create or display.
    The AUTHORITY-CHECK checks whether a user has the appropriate authorization to execute a particular activity.
    This Authorization concept is somewhat linked with BASIS people.
    As a developer you may not have access to access to SU21 Transaction where you have to define, authorizations, Objects and for nthat object you assign fields and values. Another Tcode is PFCG where you can assign these authrization objects and TCodes for a  profile and that profile in turn attached to a particular user.
    Take the help of the basis Guy and create and use.
    Sy-SUBRC values
    4              User has no authorization in the SAP System for
                   such an action. If necessary, change the user
                   master record.
    8              Too many parameters (fields, values). Maximum
                   allowed is 10.
    12             Specified object not maintained in the user
                   master record.
    16             No profile entered in the user master record.
    24             The field names of the check call do not match
                   those of an authorization. Either the
                   authorization or the call is incorrect.
    28             Incorrect structure for user master record.
    32             Incorrect structure for user master record.
    36             Incorrect structure for user master record.
    with regards,
    Hema Sundara.
    pls reward if u find it helpful.

  • Authorization for project (table PROJ)

    Hi experts !
    I would like create role for PS modula which is limited to field Object Class equal Investment. Itu2019s impossible. How I can check which field I can use for authorization for project (table PROJ).
    Rgds Stenwa

    Stenwa,
    there are no user fields in the project definition. Instead you will find them in the WBS element. In that case, you can use standard authorization objet C_PRPS_USR to check on the user fields, but, as I say, it will not point to PROJ but to PRPS.
    CNEX0002 is a user exit to enhance authorizations in PS. You can check it in SMOD and create an implementation in CMOD but you will need the help of an abaper to create the necesary coding.
    Rgds
    Martina

  • How to find a badi and how to find the method/methods for a transaction?

    Hi all,
    i need to give a text either while creating customer (vd01) or changing customer(vd02)...thsi is via extras->texts.....then I have to double clik the text and go to change editor...and then i have to clik on insert line and then choose text element radiobutton on screen and then give it a name and then save it..this should be done for all customers....my problem is i am unable to find a badi and the appropriate method for thsi..i have placed break point in method read_add_on_data in the badi customer_add_data....i tested both by transactions va01 and va02 but of no use..also there are so many methods..can u tell me how do i find the appropriate method of the appropriate badi.....

    Hi,
       For XD01/XD02/XD03 The following BADI's are useful
    business Add-In CUSTOMER_ADD_DATA  and  business Add-In CUSTOMER_ADD_DATA_CS .
    *<b>Reward points</b>
    Regards

  • Report S_ALR_87013105 : no authorization for the report/ table 7KU6_001

    Hi Gurus,
    While executing the program S_ALR_87013105 (Detailed Reports 
    For Sales Order : Plan/Actual Comparison ) system showing the selection log.
    "Have no authorization for the report/table  7KU6_001 and 7KU6_002".
    But for the user the authorization check through SU53 was successful.
    Pl can any one suggest on this issue.
    Thanks in advance,
    Vijay

    Hi,
    Contact your basis consultant to provide the missing authorisation. This is one of the authorisation object.
    Regards,
    Sankar

  • How to find Transaction for a Known Table maintenance View

    Hello Friends,
    May I know how to find transaction for a known table maintenance View.
    Thanks,
    Best Regards,
    Sudhanshu Garg

    Goto SE16 Transaction and enter TSTCP Table
    Here PARAM = /SM30 VIEWNAME=Table name*;UPDATE=X;
    enter table name in bold.
    Thanks
    Seshu

  • How to find rows in F table of a cube for a given request ID

    Can someone tell me how to find the rows in the F table of a cube for a given request id?

    Hi,
    Copy the Request ID number of that cube and go to manage of the cube and select contents tab, select Infocube content,
    select list of objects to be displayed with results and in that screen give Request ID at Request ID row and at bottom Max no. of Hits keep blank and execute at the top.
    this will display all the data rows loaded with that request. this is records from cube.
    from Fact table, go to SE11, give /BIC/FXXXX "XXXX" is cube name for custom cube.
    get the SID of that cube from the Cube contents as mentioned above, for field select for output along with Request ID select Request SID also.
    from SE11 give table /BIC/DXXXXXP "XXXX" is cube name for custom cube. P for Packet Dimension. here pass reqest SID in 'SID_0REQUID' and get value for DIMID.
    pass this DIMID into KEY_XXXXP, this give the fact table rows for that request DIM ID.
    hope this helps
    Regards
    Daya Sagar

  • Display authorization for particular line of table

    Hi Experts,
    I have a Z table contains sales area data. I want to display those records only which user has authorization for the sales area. It is possible through the table maintenance event or there is any other way to achieve this.
    Quick response will be appreciated.
    Thanks in advance for your sincere help.
    Cheers,
    Anil

    Hi Anil,
    Yes,Its possible through table maintainance event itself.
    Only thing u need to do is check for the sales area the user is authorized..using
    FM: SUSR_USER_AUTH_FOR_OBJ_GET
    SEL_OBJECT:- CRM_ORD_OE.
    Hope it helps!!
    Regards,
    PePe

  • Log Miner is finding DDL for "new" tables, but also DML for "older" tables.

    oracle 10.2.0.5.0 Standard Edition
    (at some point in the past it was "downgraded" from enterprise edition).
    It's making me crazy,  i create a table then insert/update rows.  Log miner only shows me the create.
    However, if i do insert/update on an "older" table,  i see the DML.  The tables are in the same tablespace, both logging, and the database is forcing logging.
    I'm out of ideas, and input would be appreciated.
    thanks!
    ####### CREATE THE ORACLE.LOGMNR1 TABLE ########
    SQL> create table ORACLE.LOGMNR1
      2  (col1 varchar2(100));
    Table created.
    ####### INSERT  ROW AND UPDATE A ROW IN ORACLE.LOGMNR1 TABLE ########
    SQL> insert into ORACLE.LOGMNR1 values ('testing insert');
    1 row created.
    SQL> commit;
    Commit complete.
    SQL> update ORACLE.LOGMNR1 set col1 = 'TESTING UPDATE';
    1 row updated.
    SQL> commit;
    Commit complete.
    ####### INSERT 2 ROWS INTO AN OLD TABLE EPACS.COLUMN_COUNTS  ########
    SQL> insert into epacs.column_counts
      2  values ('TEST1',99,'TEST2',88,SYSDATE);
    1 row created.
    insert into epacs.column_counts
       values('TEST3',77,'TEST4',66,SYSDATE);
    1 row created.
    SQL> COMMIT;
    Commit complete.
    ####### INSERT ANOTHER ROW INTO ORACLE.LOGMNR1 TABLE ########
    SQL> insert into LOGMNR1 values ('ONE MORE TEST');
    1 row created.
    SQL> COMMIT;
    Commit complete.
    ####### CREATE THE ORACLE.LOGMNRAFTER TABLE ########
    SQL> CREATE TABLE LOGMNRAFTER (COL1 VARCHAR2(100));
    Table created.
    ####### INSERT A ROW INTO ORACLE.LOGMNRAFTER TABLE ########
    SQL> INSERT INTO LOGMNRAFTER VALUES('FINISHED');
    1 row created.
    SQL> COMMIT;
    Commit complete.
    ####### MINE THE LOGS FOR ACTIVITY ########
    SQL> edit
    Wrote file afiedt.buf
      1  select to_char(timestamp,'yyyy/mm/dd hh24:mi:ss'), username,
      2          operation, sql_redo
      3          from v$logmnr_contents
      4      where
      5      seg_owner in( 'ORACLE','EPACS')
      6  and
      7      operation <> 'UNSUPPORTED'  
      8*          order by timestamp
    SQL> /
    ####### IT FINDS THECREATE THE ORACLE.LOGMNR1 TABLE, BUT NO INSERTS ########
    2013/10/09 14:02:05 ORACLE                                                     
    DDL                                                                            
    create table LOGMNR1                                                           
    (col1 varchar2(100));                                                          
    ####### IT DOES FIND INSERTS FOR THE OLD EPACS.COLUMN_COUNTS TABLE ########                                                   
    2013/10/09 14:03:54 ORACLE                                                     
    INSERT                                                                         
    insert into "EPACS"."COLUMN_COUNTS"("TABLE_NM","TABLE_ROW_QTY","COLUMN_NM","COLU
    MN_QTY","LAST_UPDATE") values ('TEST1','99','TEST2','88','09-OCT-13');         
    2013/10/09 14:05:09 ORACLE                                                     
    INSERT                                                                         
    insert into "EPACS"."COLUMN_COUNTS"("TABLE_NM","TABLE_ROW_QTY","COLUMN_NM","COLU
    MN_QTY","LAST_UPDATE") values ('TEST3','77','TEST4','66','09-OCT-13');         
    ####### AND IT FIND THE CREATE FOR THE ORACLE.LOGMNRAFTER TABLE ########                                                      
    2013/10/09 14:06:11 ORACLE                                                     
    DDL                                                                            
    CREATE TABLE LOGMNRAFTER (COL1 VARCHAR2(100));                                 
    ###### BOTH TABLES ARE "LOGGING" AND LIVE IN THE SAME TABLESPACE ######
    ###### LOGGING IS FORCED AT THE DATABASE LEVEL ####
    SQL> select force_logging from v$database;
    YES                                                                            
    SQL> select owner,table_name,logging
      2  from dba_tables where owner in ('EPACS','ORACLE')
      3  and table_name in('COLUMN_COUNTS','LOGMNR1');
    EPACS                          COLUMN_COUNTS                  YES              
    ORACLE                         LOGMNR1                        YES              
    SQL> SPOOL OFF

    Nither the table showing only DDL nor the table showing DML have supplemental logging.
    thanks.
    select count(*) from ALL_LOG_GROUPS
       where LOG_GROUP_TYPE='ALL COLUMN LOGGING' and OWNER='ORACLE' and table_name='LMTEST1'
    SQL> /
      COUNT(*)
             0
        select count(*) from ALL_LOG_GROUPS
       where LOG_GROUP_TYPE='ALL COLUMN LOGGING' and OWNER='EPACS' and table_name='COLUMN_COUNTS'
      COUNT(*)
             0
    Message was edited by: user12156890
    apparently this is an issue with the database configuration and not log miner.  I ran the same test against the prodcution database and got both the DDL and DML.  I used exactly the same test script including the logminer "setup" , obviously changing the name of the log files and the name of a directory.

Maybe you are looking for

  • HP Officejet 6500 E710n-z is USB to desktop running Windows 7. I am XP Pro can"t find printer

    I have downloaded the network diagnostic utility. When I run it it won't let me get past finding the printer. It wants it to be hooked up with ethernet cable which ain' going to happen. The printer is hooked to a desktop Dell running Windows 7 that i

  • I am unable to delete apps on iPhone 5

    After looking at other similar questions, I can find no answer. For some reason, I can no longer delete apps from my iPhone 5 running 6.1.4. I am doing everything the way you are supposed to, but nothing. What I end up with is a bunch of jiggling ico

  • Bad support on a worthless phone - N97

    This is my story. I was very unhappy with my SonyEricsson X1 and went and bought a Nokia N97 and sold the X1. Boy do I regret that! The first thing that happened with my N97 is that it crashed during the first startup. Since then it has been crashing

  • Where can I purchase the motherboard for T60 model 2623-KEU?

    Hello ALL:    Please advice where can I purchase the motherboard for T60 model 2623-KEU? The BIOS password was locked while term. employee refuse to tell the password. Any way, how much it will cost? Is it possible to replace the motherboard by mysel

  • Autonumbering h1 with 2 separate incopy files in Indesign

    Hi! I have 2 sections in my indesign file, so i created 2 separate incopy files for section 1 and section 2. I set up all my heading styles to autonumber and in section 1 they work great, 1, 1.1, 1.2, 1.1.1, 1.1.2, etc.... So when I created a new mas