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 advanceHello 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.
SejoonHi,
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?
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 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. -
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. -
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 16Thanks, 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...
-MuktarHi 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 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
-
HT1657 why i cant download rented movie when says not enough storage when I actually do
why i cant download rented movie when says not enough storage when I actually do
-
Creating Context menu on TREE control
Hi, How to create Context menu on Tree (Nodes and Subnodes) in Web Dynpro for ABAP. Helpful answers will be rewarded. Regards, Jitesh.
-
How do i give _spotlight access to home directory?
I have added a folder inside a homefolder and now it is not found in spotlight and i checked the folder permission and _spotlight is not listed and i cannot add it.
-
Syncing iCal calendar todos with Mobile Me todos
Hi I am using 10.5.8. Omnifocus will only sync my todos with the iCal calendar on my Mac. I use and sync events with Mobile Me. Is there anyway I can sync the iCal Calendar todos on my local mac with one of my MobleMe calendars? Thanks Gus
-
Add User wiht CFLDAP to Active Directory
Hi, I have read all the topics that "Internet" have about this issue. I would like to know if it is necessary to complete all Mandatory attributes that I have in my AD Schema to add a user onto AD. I have this Mandatory Attributes: Name Type System D