With regard to lock object and authority check

hi all
i would like to know about lock object and authority check specifically in reports. there is a coding in sap library with regard to authority check, but there is no coding to restrict user (i mean there is no user names that the object is restricting for a particular user or any user has got permission to change or display object). 
further, the code mentions that you need an authorization in your user master record for the object, could any of u explain where is user master record.
below is the code for authority check.
*&      Module  USER_COMMAND_0100  INPUT
MODULE USER_COMMAND_0100 INPUT.
  CASE OK_CODE.
    WHEN 'SHOW'.
   AUTHORITY-CHECK OBJECT 'S_CARRID'
ID 'CARRID' FIELD '*'
ID 'ACTVT'  FIELD '03'.
   IF SY-SUBRC NE 0. MESSAGE E009. ENDIF.
   MODE = CON_SHOW.
   SELECT SINGLE * FROM  SPFLI
    WHERE  CARRID      = SPFLI-CARRID
    AND    CONNID      = SPFLI-CONNID.
   IF SY-SUBRC NE 0.
MESSAGE E005 WITH SPFLI-CARRID SPFLI-CONNID.
   ENDIF.
   CLEAR OK_CODE.
   SET SCREEN 200.
    WHEN 'CHNG'.
   AUTHORITY-CHECK OBJECT 'S_CARRID'
ID 'CARRID' FIELD '*'
ID 'ACTVT'  FIELD '02'.
   IF SY-SUBRC NE 0. MESSAGE E010. ENDIF.
   MODE = CON_CHANGE.
   SELECT SINGLE * FROM  SPFLI
    WHERE  CARRID      = SPFLI-CARRID
    AND    CONNID      = SPFLI-CONNID.
   IF SY-SUBRC NE 0.
     MESSAGE E005 WITH SPFLI-CARRID SPFLI-CONNID.
   ENDIF.
   OLD_SPFLI = SPFLI.
   CLEAR OK_CODE.
   SET SCREEN 200.
  ENDCASE.
ENDMODULE.                 " USER_COMMAND_0100  INPUT
i thank u all for the help in advance.

hi
this might help
REPORT YUSRLOCK NO STANDARD PAGE HEADING.
TABLES: TRDIR, USR02.
DATA: MARK,CNTR TYPE I,
      ACCNT LIKE USR02-ACCNT, ERDAT LIKE USR02-ERDAT,
      ANAME LIKE USR02-ANAME, CLI(3) VALUE 'AAA', SZIN TYPE I,
      SYDATUM LIKE SY-DATUM, FLAG(3).
TABLES: UINFO.
DATA: OPCODE TYPE X VALUE 2.
DATA: BEGIN OF USR_TABL OCCURS 10.
        INCLUDE STRUCTURE UINFO.
DATA: END OF USR_TABL.
START-OF-SELECTION.
  CALL 'ThUsrInfo' ID 'OPCODE' FIELD OPCODE
    ID 'TAB' FIELD USR_TABL-SYS.
  SELECT * FROM USR02 CLIENT SPECIFIED ORDER BY MANDT BNAME.
    IF USR02-MANDT <> CLI.
      SZIN = SZIN + 1. SZIN = SZIN MOD 2.
      CLI = USR02-MANDT.
    ENDIF.
    IF USR02-UFLAG = 0.
      MARK = ' '.
    ELSE.
      MARK = 'X'.
    ENDIF.
    CLEAR FLAG.
    LOOP AT USR_TABL.
      IF USR_TABL-BNAME = USR02-BNAME AND USR_TABL-MANDT = USR02-MANDT.
        FLAG = '!!!'.
      ENDIF.
    ENDLOOP.
    SYDATUM = SY-DATUM - 30.
    IF SYDATUM < USR02-TRDAT.
      IF SZIN = 0.
        WRITE:/ ' ', MARK AS CHECKBOX,' ', USR02-BNAME COLOR 2,
              ' ',USR02-MANDT COLOR 2,
              '   ',USR02-USTYP COLOR 2,
              ' ',USR02-TRDAT COLOR 2, USR02-LTIME COLOR 2,
              ' ',FLAG COLOR 6.
      ELSE.
        WRITE:/ ' ', MARK AS CHECKBOX,' ', USR02-BNAME COLOR 3,
              ' ',USR02-MANDT COLOR 2,
              '   ',USR02-USTYP COLOR 2,
              ' ',USR02-TRDAT COLOR 2, USR02-LTIME COLOR 2,
              ' ',FLAG COLOR 6.
      ENDIF.
    ELSE.
      IF SZIN = 0.
        WRITE:/ ' ', MARK AS CHECKBOX,' ', USR02-BNAME COLOR 2,
              ' ',USR02-MANDT COLOR 2,
              '   ',USR02-USTYP COLOR 2,
              ' ',USR02-TRDAT COLOR 4, USR02-LTIME COLOR 4,
              ' ',FLAG COLOR 6.
      ELSE.
        WRITE:/ ' ', MARK AS CHECKBOX,' ', USR02-BNAME COLOR 3,
              ' ',USR02-MANDT COLOR 2,
              '   ',USR02-USTYP COLOR 2,
              ' ',USR02-TRDAT COLOR 4, USR02-LTIME COLOR 4,
              ' ',FLAG COLOR 6.
      ENDIF.
    ENDIF.
    HIDE: USR02-BNAME, USR02-MANDT.
  ENDSELECT.
  CLEAR USR02.
TOP-OF-PAGE.
WRITE:/ 'LOCK   USER         CLIENT  TYPE     LAST lOGIN     ' COLOR 6.
  SKIP.
AT USER-COMMAND.
  IF SY-UCOMM = 'SEL'.
    DO.
      CLEAR MARK.
      READ LINE SY-INDEX FIELD VALUE MARK.
      IF SY-SUBRC NE 0.  EXIT. ENDIF.
      IF USR02-BNAME IS INITIAL.CONTINUE.ENDIF.
      SELECT SINGLE * FROM USR02 CLIENT SPECIFIED WHERE
      MANDT = USR02-MANDT AND BNAME = USR02-BNAME.
      IF MARK = 'X' AND USR02-UFLAG = 0.
        USR02-UFLAG = 64.
        UPDATE USR02 CLIENT SPECIFIED SET: UFLAG = 64 WHERE
        MANDT = USR02-MANDT AND
        BNAME = USR02-BNAME.
        COMMIT WORK.
      ENDIF.
      IF MARK = ' ' AND USR02-UFLAG = 64.
        USR02-UFLAG = 0.
        UPDATE USR02 CLIENT SPECIFIED SET: UFLAG = 0 WHERE
        MANDT = USR02-MANDT AND
        BNAME = USR02-BNAME.
        COMMIT WORK.
      ENDIF.
    ENDDO.
    CLEAR USR02.
  ENDIF.
regards
Arun

Similar Messages

  • About lock object and how to create it

    Hi ABAP gurus,
    Can any one explain about the Lock Objects and How to create Lock object step by step.
    Rgds,

    Hi Rangamma,
    Check this info.
    Lock objects are use in SAP to avoid the inconsistancy at the time of data is being insert/change into database.
    SAP Provide three type of Lock objects.
    - Read Lock(Shared Locked)
    protects read access to an object. The read lock allows other transactions read access but not write access to
    the locked area of the table
    - Write Lock(exclusive lock)
    protects write access to an object. The write lock allows other transactions neither read nor write access to
    the locked area of the table.
    - Enhanced write lock (exclusive lock without cumulating)
    works like a write lock except that the enhanced write lock also protects from further accesses from the
    same transaction.
    You can create a lock on a object of SAP thorugh transaction SE11 and enter any meaningful name start with EZ Example EZTEST_LOCK.
    Use: you can see in almost all transaction when you are open an object in Change mode SAP could not allow to any other user to open the same object in change mode.
    Example: in HR when we are enter a personal number in master data maintainance screen SAP can't allow to any other user to use same personal number for changes.
    Technicaly:
    When you create a lock object System automatically creat two function module.
    1. ENQUEUE_<Lockobject name>. to insert the object in a queue.
    2. DEQUEUE_<Lockobject name>. To remove the object is being queued through above FM.
    Lock objects are use in SAP to avoid the inconsistancy at the time of data is being insert/change into database.
    SAP Provide three type of Lock objects.
    - Read Lock(Shared Locked)
    protects read access to an object. The read lock allows other transactions read access but not write access to
    the locked area of the table
    - Write Lock(exclusive lock)
    protects write access to an object. The write lock allows other transactions neither read nor write access to
    the locked area of the table.
    - Enhanced write lock (exclusive lock without cumulating)
    works like a write lock except that the enhanced write lock also protects from further accesses from the
    same transaction.
    You can create a lock on a object of SAP thorugh transaction SE11 and enter any meaningful name start with EZ Example EZTEST_LOCK.
    Use: you can see in almost all transaction when you are open an object in Change mode SAP could not allow to any other user to open the same object in change mode.
    Example: in HR when we are enter a personal number in master data maintainance screen SAP can't allow to any other user to use same personal number for changes.
    Technically:
    When you create a lock object System automatically creat two function module.
    1. ENQUEUE_<Lockobject name>. to insert the object in a queue.
    2. DEQUEUE_<Lockobject name>. To remove the object is being queued through above FM.
    http://help.sap.com/saphelp_nw04/helpdata/en/cf/21eea5446011d189700000e8322d00/content.htm
    GO TO SE11
    Select the radio button "Lock object"..
    Give the name starts with EZ or EY..
    Example: EYTEST
    Press Create button..
    Give the short description..
    Example: Lock object for table ZTABLE..
    In the tables tab..Give the table name..
    Example: ZTABLE
    Save and generate..
    Your lock object is now created..You can see the LOCK MODULES..
    In the menu ..GOTO -> LOCK MODULES..There you can see the ENQUEUE and DEQUEUE function
    Lock objects:
    http://www.sap-img.com/abap/type-and-uses-of-lock-objects-in-sap.htm
    http://help.sap.com/saphelp_nw04s/helpdata/en/cf/21eea5446011d189700000e8322d00/content.htm
    Match Code Objects:
    http://help.sap.com/saphelp_nw2004s/helpdata/en/41/f6b237fec48c67e10000009b38f8cf/content.htm
    http://searchsap.techtarget.com/tip/0,289483,sid21_gci553386,00.html
    See this link:
    http://www.sap-img.com/abap/type-and-uses-of-lock-objects-in-sap.htm
    Hope this resolves your query.
    <b>Reward all the helpful answers.</b>
    Regards

  • User role and Authority-check ?

    Hello,
    Could you please let me know how are the differences between User role and Authority-check. In a program I do not use Authority-check , And The user is not assigned to user role which contain this transaction ( for this program), Can the user execute this transaction OR he must be assigned to user role which contain this transaction to execute it . Supposing that we do not use any Authority-check in then program.
    Thanks in advance

    Hello Martin,
    I think this answers the OP's question about user not being assigned the role which contains the trxn code. As you have explained in this case the default auth. check for S_TCODE will fail & user cannot execute the trxv. (If i remember correctly the tables for this are AGR_USERS & AGR_TCODES)
    Anyways just to add to the OP's query. Auth. objects are added to profiles which in turn assigned to roles. So if you implement the auth. object in your program the user must also subscribe to the role containing the auth. obj. profile to be able to execute it.
    @OP:
    The transactions PFCG & SUIM might interest you. Also the tables dealing with these stuffs begin with AGR*. You can check the tables for better understanding.
    BR,
    Suhas

  • What is the use for lock object and how to use the lock objects

    Hi Guru's,
    I am new to ABAP .Can you please clarify the that what is the use of lock object and how to use the loct object .what is use of the Deque & Enque  function modules .

    hi ,
    below are some minfo about lock objects :
      Lock Objects
    These types of objects are used for locking the access to database records in table. This mechanism is used to enforce data integrity that is two users cannot update the same data at the same time. With lock objects you can lock table-field or whole table.
    In a system where many users can access the same data, it becomes necessary to control the access to the data. In R/3 system this access control is built-in on database tables. Developers can also lock objects over table records.
    To lock an object you need to call standard functions, which are automatically generated while defining the lock object in ABAP/4 dictionary. This locking system is independent of the locking mechanism used by the R/3 system. This mechanism also defines LUW i.e. Logical Unit of Work. Whenever an object is locked, either by in built locking mechanism or by function modules, it creates corresponding entry in global system table i.e. table is locked. The system automatically releases the lock at the end of transaction. The LUW starts when a lock entry is created in the system table and ends when the lock is released.
    Creating Lock Objects
    Lock object is an aggregated dictionary object and can be defined by using the following steps:
    o From initial data dictionary screen, enter the name for the object, Click Lock object radiobutton and then click on Create. The system displays a dialog box for Maintain Lock Objects screen
    o Enter short text as usual and the name for primary table.
    -Save
    -Select Tables option
    From this screen you can:
    Select secondary tables, if any, linked by foreign key relationship.
    Fields for the lock objects. This option allows you to select fields for objects (R/3 system allows locking up to record level). Lock object argument are not selected by user but are imposed by the system and includes all the primary keys for the table.
    1) Exclusive lock: The locked data can only be displayed or edited by a single user. A request for another exclusive lock or for a shared lock is rejected.
    2) Shared lock: More than one user can access the locked data at the same time in display mode. A request for another shared lock is accepted, even if it comes from another user. An exclusive lock is rejected.
    3) Exclusive but not cumulative: Exclusive locks can be requested several times from the same transaction and are processed successively. In contrast, exclusive but not cumulative locks can be called only once from the same transaction. All other lock requests are rejected.
    Also, last but not the least, locking the object is logical (locking with any enqueue ) .so, you have to use the lock object while trying to access from second program .
    reward if helpful ,
    Regards,
    Ranjita

  • Differeence between Lock object and enqueue_e_table

    Hi  ,
    what is diff between Lock object and enque_e_table.  Where to use enqueue_e_table and where to use lock object.
    I think with a lock object i can lock more than one table (passing tables  in secondary table). Please correct me.

    A lock object does not really "lock a table" though most of lock objects refer to a database table.
    I explain:
    The principle is that when 2 programs lock at the same time with the same lock object, only the first will succeed.
    If you have a program which does not use the lock, it may update the database table without any problem.
    All programs which update a table have to use the same lock object. Note that users are always able to update this table via SM30 as they don't know the lock object to be used.
    enqueue_xxxx is the name of the generated function module used to lock the xxxx lock object. E_TABLE lock is ONLY used by SM30 if I remember well, so that to prevent one table from being updated via SM30 by 2 persons at the same time. But it is not related at all with programs which would also update this table.
    Edited by: Sandra Rossi on Mar 14, 2010 9:53 PM

  • Different _scope parameter of Enqueue_ lock object and Dequeue_ lock objec

    Hi, all.
    When we create lock object and generate enqueue_<lock object> and
    dequeue_<lock object>, the default value of _scope is
    enqueue : _scope = 2(update owner only)
    dequeue : _scope = 3(for both dialog owner and update owner).
    Does anyone tell me the reason of this different default values?
    i read help.sap.com - lock related help but i couldn't get the idea
    of these different default values between enqueue and dequeue.
    Best Regards.
    Sejoon

    Hi,
    When you use ENQUEUE, the owner is going to lock that record. So at that time, the only person who can modify the record in the one who has locked it using ENQUEUE. So only he needs to be informed.
    Whereas when you use DEQUEUE, the owner who has locked the record and processed it + the 2nd user who wants to lock it needs to be informed. Hence it is to update the 1st User(who has done the update and planning to release the lock) + 2nd User(who wants to do the update and planning to lock the record ).
    Best regards,
    Prashant

  • I have been informed by Orange (UK) that Apple have 'changed their rules' with regards to unlocking iPhones, and that it will take 6 months to process. Is this correct?

    I have been informed by Orange (UK) that Apple have 'changed their rules' with regards to unlocking iPhones, and that it will take 6 months to process. Is this correct?

    Fezzzer wrote:
    I have been informed by Orange (UK) that Apple have 'changed their rules' with regards to unlocking iPhones, and that it will take 6 months to process. Is this correct?
    Complete rubbish
    Apple do not lock iPhones
    Carriers do because they have subsidised the purchase price
    and therefore only the carrier can unlock an iPhone
    Orange have decided to apply 6 months to protect their revenue
    they never have been the fastest to unlock

  • I have a problem with mail.  the spelling and grammer check box before sending the messege is no longer there.  I did everything but cannot get it back.  is ther anyone who knows how to get the box with spelling and grammer checks before sending

    i have a problem with mail.  the spelling and grammer check box before sending the messege is no longer there.  I did everything but cannot get it back.  is ther anyone who knows how to get the box with spelling and grammer checks before sending the mail.
    Also the mail is acting very funny by not getting the rules work in a proper method.  Is ther a software to repair mail.

    i did both of them, but still the while sending the mail the diolog box is not showing up and also the spelling and grammer does not do the spelling check. 
    This problem just started for about 3 to 4 days now.  earlier it was working normally.

  • ALV GRID and AUTHORITY-CHECK

    Hi all !!! 
    I'm using the ALV Grid control with checkboxes and I want to control if the actual user have the appropriate authorization to check/uncheck them.
    In the AUTHORITY-CHECK call, I want to make the authorization test on the "DEPARTMENT" of the user (from Table USER_ADDR or SU01).
    For example :
    DEPARTMENT AA1 --> check/uncheck OK
    DEPARTMENT AA2 --> check/uncheck NOT OK
    DEPARTMENT AA3 --> check/uncheck OK
    ... etc.
    How can I do ? Create an new authorization object/field ?
    PS : it's the first time I'm using AUTHORITY-CHECK..

    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.
    Example ;
    REPORT  EXAMPLE MESSAGE-ID Z1.
    TABLES: USR02.
    PARAMETERS: LOCK AS CHECKBOX, LISTLOCK AS CHECKBOX.
    DATA: UFLAGVAL TYPE I, LOCKSTRING(8) TYPE C.
    ---- Authorization check -
    AUTHORITY-CHECK OBJECT 'ZPROG_RUN' ID 'PROGRAM' FIELD SY-CPROG.
    IF SY-SUBRC <> 0.
      IF SY-SUBRC = 4.
        MESSAGE E000 WITH SY-CPROG. "some message about authorization check failure
      ELSE.
        MESSAGE E005 WITH SY-SUBRC. "some message about authorization check failure
      ENDIF.
    ENDIF.
    IF LISTLOCK = 'X'.
      WRITE:/ 'List all locked users: '.
      SELECT * FROM USR02 WHERE UFLAG = 64.
        WRITE: / USR02-BNAME.
      ENDSELECT.
      EXIT.
    ENDIF.
    IF LOCK = 'X'.
      UFLAGVAL = 64.                       "lock all users
      LOCKSTRING = 'locked'.
    ELSE.
      UFLAGVAL = 0.                        "unlock all users
      LOCKSTRING = 'unlocked'.
    ENDIF.
    SELECT * FROM USR02 WHERE BNAME <> 'SAP*' AND BNAME <> SY-UNAME.
      IF USR02-UFLAG <> 0 AND USR02-UFLAG <> 64.
        WRITE: 'User', USR02-BNAME, 'untouched; please handle manually.'.
        CONTINUE.
      ENDIF.
    check that user has authority to make these changes
      AUTHORITY-CHECK OBJECT 'S_USER_GRP'
          ID 'CLASS' FIELD USR02-CLASS
          ID 'ACTVT' FIELD '05'.
      IF SY-SUBRC <> 0.
        IF SY-SUBRC = 4.
          WRITE: /'You are not authorized to lock/unlock user ',
            USR02-BNAME, USR02-CLASS.
        ELSE.
          WRITE: /'Authorization error checking user ',
                 USR02-BNAME, USR02-CLASS, '(return code', SY-SUBRC, ').'.
        ENDIF.
      ELSE.                                "has authority
        UPDATE USR02 SET UFLAG = UFLAGVAL WHERE BNAME = USR02-BNAME.
        WRITE: / 'User', USR02-BNAME, LOCKSTRING, '.'.
      ENDIF.

  • SM30 and AUTHORITY-CHECK

    Hi experts !
    Is There a way to see if the user has authority to chance the table view ? All users can see the data but not all can chance but i can't block the transaction.
    I also need show just some fields. The table has 7 fields but i can show just 4. How to do that ??
    Last doubt. The others 3 fields that do not appear I need to enter some informations like date and hour.
    Thx in advance.

    Hi
    At role Level you can keep the Authrization check for the Tcodes (PFCG tcode)
    using auth objects you can keep authorization check on the table fields or fields in a transaction
    see the following
    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.
    Regards
    Anji

  • InDesign CS5.5 - locked objects and align tools not working together

    In earlier versions of InDesign I used the Align palette, spacing 0 mm, and "dragged in" other objects to perfect fit to the center object. InDesign drags in objects from the right this way. So if I needed to drag in objects from the left side I locked the center object first and InDesign understood what I wanted to do.
    In CS5 and 5.5 this is not possible anymore. If I lock an object it is not selectable. But there is a preference setting for this so I change it. Now I can select the locked object. But when I try to align it with another object there is an error message saying I can't move this object because it i locked. Well... I am not trying to move it hence the lock I applied...
    I don't understand this changed behaviour. If a locked object is out of play I might as well use the layer palette and lock objects that way.
    Could someone please shed some light on this?

    Apparently the distribute spacing command only uses the top object as a reference. I would say that's a bug.

  • Understanding db_stat -CA output, lockers, lock objects and locks

    I'd like to understand this output. Transaction 80000045 is holding a write lock on page 11 and waiting for a write lock on page 13, which, however, isn't granted as long as transaction 80000051 holds on to its read lock.
    Is there anything in this table explaining why 80000051 seems unwilling to move on and release the read lock?
    And what does dd=37 mean?
    Michael Ludwig
    Locks grouped by lockers:
    Locker   Mode      Count Status  ----------------- Object ---------------
          a1 dd=37 locks held 1    write locks 0    pid/thread 1284/4896
          a1 READ          1 HELD    test.dbxml                handle        2
          a4 dd=36 locks held 0    write locks 0    pid/thread 1284/4896
          a5 dd=35 locks held 1    write locks 0    pid/thread 1284/4896
          a5 READ          1 HELD    test.dbxml                handle        4
          a8 dd=34 locks held 0    write locks 0    pid/thread 1284/4896
          a9 dd=33 locks held 1    write locks 0    pid/thread 1284/4896
          a9 READ          1 HELD    test.dbxml                handle        6
          ac dd=32 locks held 0    write locks 0    pid/thread 1284/4896
          ad dd=31 locks held 1    write locks 0    pid/thread 1284/4896
          ad READ          1 HELD    test.dbxml                handle        8
          b0 dd=30 locks held 0    write locks 0    pid/thread 1284/4896
          b1 dd=29 locks held 1    write locks 0    pid/thread 1284/4896
          b1 READ          1 HELD    test.dbxml                handle       10
          b4 dd=28 locks held 0    write locks 0    pid/thread 1284/4896
          b5 dd=27 locks held 2    write locks 0    pid/thread 1284/4896
          b5 READ          1 HELD    test.dbxml                handle       12
          b5 READ          6 HELD    test.dbxml                handle        0
          b8 dd=26 locks held 0    write locks 0    pid/thread 1284/4896
          bc dd=25 locks held 1    write locks 0    pid/thread 1284/4896
          bc READ          1 HELD    test.dbxml                handle       14
          bf dd=24 locks held 0    write locks 0    pid/thread 1284/4896
          c0 dd=23 locks held 2    write locks 0    pid/thread 1284/4896
          c0 READ          1 HELD    test.dbxml                handle       16
          c0 READ          2 HELD    test.dbxml                handle        0
          c3 dd=22 locks held 0    write locks 0    pid/thread 1284/4896
          f1 dd=21 locks held 2    write locks 0    pid/thread 1284/4896
          f1 READ          1 HELD    test.dbxml                handle       18
          f1 READ          1 HELD    test.dbxml                handle        0
          f4 dd=20 locks held 0    write locks 0    pid/thread 1284/4896
          f5 dd=19 locks held 0    write locks 0    pid/thread 1284/2648
          f6 dd=18 locks held 0    write locks 0    pid/thread 1284/2648
          f7 dd=17 locks held 0    write locks 0    pid/thread 1284/2648
          f8 dd=16 locks held 0    write locks 0    pid/thread 1284/2648
          f9 dd=15 locks held 0    write locks 0    pid/thread 1284/2648
          fa dd=14 locks held 0    write locks 0    pid/thread 1284/2648
          fb dd=13 locks held 0    write locks 0    pid/thread 1284/2648
          fc dd=12 locks held 0    write locks 0    pid/thread 1284/4184
          fd dd=11 locks held 0    write locks 0    pid/thread 1284/2672
          fe dd=10 locks held 0    write locks 0    pid/thread 1284/4184
          ff dd= 8 locks held 0    write locks 0    pid/thread 1284/2672
         100 dd= 7 locks held 0    write locks 0    pid/thread 1284/2672
         101 dd= 5 locks held 0    write locks 0    pid/thread 1284/2648
         102 dd= 4 locks held 0    write locks 0    pid/thread 1284/2648
    80000044 dd= 9 locks held 0    write locks 0    pid/thread 1284/4184
    80000045 dd= 9 locks held 1    write locks 1    pid/thread 1284/4184
    80000045 WRITE         1 WAIT    test.dbxml                page         13
    80000045 WRITE         1 HELD    test.dbxml                page         11
    8000004d dd= 6 locks held 0    write locks 0    pid/thread 1284/4100
    8000004e dd= 6 locks held 0    write locks 0    pid/thread 1284/4100
    8000004e READ          1 WAIT    test.dbxml                page         11
    80000051 dd= 3 locks held 1    write locks 0    pid/thread 1284/2648
    80000051 READ          1 HELD    test.dbxml                page         13
    80000054 dd= 2 locks held 0    write locks 0    pid/thread 1284/5816
    80000054 READ          1 WAIT    test.dbxml                page         13
    80000055 dd= 1 locks held 0    write locks 0    pid/thread 1284/4824
    80000055 READ          1 WAIT    test.dbxml                page         13
    80000056 dd= 0 locks held 0    write locks 0    pid/thread 1284/2648
    80000057 dd= 0 locks held 0    write locks 0    pid/thread 1284/2648
    80000057 READ          1 WAIT    test.dbxml                page         11
    =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    Locks grouped by object:
    Locker   Mode      Count Status  ----------------- Object ---------------
    80000045 WRITE         1 HELD    test.dbxml                page         11
    8000004e READ          1 WAIT    test.dbxml                page         11
    80000057 READ          1 WAIT    test.dbxml                page         11
          b1 READ          1 HELD    test.dbxml                handle       10
          ad READ          1 HELD    test.dbxml                handle        8
          bc READ          1 HELD    test.dbxml                handle       14
    80000051 READ          1 HELD    test.dbxml                page         13
    80000045 WRITE         1 WAIT    test.dbxml                page         13
    80000054 READ          1 WAIT    test.dbxml                page         13
    80000055 READ          1 WAIT    test.dbxml                page         13
          b5 READ          1 HELD    test.dbxml                handle       12
          a1 READ          1 HELD    test.dbxml                handle        2
          b5 READ          6 HELD    test.dbxml                handle        0
          c0 READ          2 HELD    test.dbxml                handle        0
          f1 READ          1 HELD    test.dbxml                handle        0
          a9 READ          1 HELD    test.dbxml                handle        6
          a5 READ          1 HELD    test.dbxml                handle        4
          f1 READ          1 HELD    test.dbxml                handle       18
          c0 READ          1 HELD    test.dbxml                handle       16

    Thanks, Lauren.
    (1) Transaction 80000057 of thread 2648 is waiting for page 11.
    (2) Page 11 is locked by transaction 80000045 of thread 4184, which is also waiting for page 13.
    (3) Page 13 is locked by transaction 80000051 of thread 2648, which is, as you say, stalled with another transaction of the same thread, which is waiting for page 11.
    So there is a circle here: 57 waiting for 45 waiting for 51 stalled by 57. But BDB can't see this is a conflictuous situation because 51 and 57 belong to the same thread, and conflict is defined to be between different threads, not within one thread.
    How can I see that this is the case? Is it just a possibility to watch out for: Two transactions on the same thread?
    Michael Ludwig

  • HR PNP LDB and authority check

    Hello All,
                  Can someone plzz tell me if there is any major difference between CODE1 and CODE2 below? I understand if we use LDB we dont need to do authority check but is there is any exceptional case where we do this kind of codeing...
    CODE1:
    Start-of-selection
    GET pernr.
      CALL FUNCTION 'HR_CHECK_AUTHORITY_INFTY'
            EXPORTING
                 tclas            = w_tclas
                 pernr            = pernr-pernr
                 infty            = '0001'
                 subty            = space
                 begda            = pn-begda
                 endda            = pn-endda
                 level            = w_level
            EXCEPTIONS
                 no_authorization = 1
                 internal_error   = 2
                 OTHERS           = 3.
      if not sy-subrc is initial.
        reject.
      endif.
      PERFORM list_data.
    END-OF-SELECTION.
    CODE2:
    Start-of-selection
    GET pernr.
      PERFORM list_data.
    END-OF-SELECTION.
    Thanks in advance...
    -Muktar

    Hi Muktar,
    In my opinion, certain infotypes hold certain level of access by different user who is using that report to view HR information. Particularly sensitive infotype like 0008 (basic pay) and other pay involving infotypes can be use to check for authority before it is display or modify by users. So HR_CHECK_AUTHORITY_INFTY is used.
    Get PERNR does not validate the authority because PERNR itself is just a structure that contains a few PA Keys and several of other infotype structure that doesn't tell the authority to read by any specific users. Get PERNR contains the PROVIDE macro and in it does not do any authorization, if i am not mistaken.
    This is my understanding. I hope my explanation is correct and have help you in a way.
    Thanks
    William Wilstroth

  • Hello Creative Cloud Illustrator Community. Help Please! This is with regard to compound paths and transparencies. I have set some type on a circle and then created outlines. I then placed the outlined type on a black stroked ring which I then selected "o

    Hello Creative Cloud Illustrator Community:
    Help Please!
    This is with regard to creating a compound path:
    I have set some white type on a circle and then created outlines. I then placed the outlined type on a black stroked ring which I then selected "outlined stroke." I then put both "outlined" graphical elements on a separate solid bkg. (all 3 are on the same layer). Lastly, I then selected the top two elements and went to "make" a "compound path" (because I want the type to be the "holes" so I can see through to the background). However, the only effect I get is the white outlined type turning black (the same color as the black ring). What am i doing wrong? I can achieve the desired result with simple boxes but it won't work with a circular type path, a stroked ring and a solid bkg.
    Any help on this would be greatly appreciated!
    Thank You!

    Thanks for the response Jacob.
    Unfortunately, I tried your suggestion with no success. BTW, minus front is now Subtract. Apparently, by clicking option>subtract, it works in the same way as minus front. I tried this to no avail.
    Let me reiterate please.
    I have 3 graphic elements-all on the same layer:
    1. Background: Gold circle with a fill and no stroke.
    2. Middle: Black ring (Stroked) inside gold background circle.
    3. Top: White copy set on a circular type path and placed directly on top of middle black ring.
    Both the middle black ring and top type path HAVE BEEN CONVERTED TO OUTLINES.
    LASTLY, I select the Middle and Top, go to Compound Paths and choose "Make" and my white copy turns to black. Wrong!
    WHAT I WANT TO HAPPEN: I want the white copy to become HOLES, so the GOLD background shows through.
    Any solutions would be very much appreciated!

  • Can I replace an iPhone 5 with a defective lock button and a crack in the screen?

    I have an iPhone 5 with a defective lock button. It doesn't work at all anymore and I'm debating going into an Apple Store to get it replaced. But I also have a small crack in the corner. Will that crack keep me from making the exchange?

    If apple determines that the damage to the phone was accidental then they may not help.  I suggest you make an appointment at an apple store and have them evaluate it.  That is the only way you will find out if they will replace it for you

Maybe you are looking for