Find the Wait events for an objects.

Hi Gurus.
I need you help to find out the wait events for a particular table and index when batch export job running from the application. I have done some work around to to find out, but i am not able to figure out the issue or what are the wait events. i am working on linux 4node rac 11gR2.
Below are the steps i have done.
1. find object_id for a table finding the wait events to that object_id.
SYS@ccmintpt1 SQL>select data_object_id from dba_objects where object_name='ACCOUNT_DETAIL_DENORM';
DATA_OBJECT_ID
82646
88518
84184
SYS@ccmintpt1 SQL>select w.sid,w.event,w.wait_class,w.wait_class# from gv$session s,gv$session_wait w where s.row_wait_obj#=82646;
no rows selected
SYS@ccmintpt1 SQL>select w.sid,w.event,w.wait_class,w.wait_class# from gv$session s,gv$session_wait w where s.row_wait_obj#=88518;
no rows selected
SYS@ccmintpt1 SQL>select w.sid,w.event,w.wait_class,w.wait_class# from gv$session s,gv$session_wait w where s.row_wait_obj#=84184;
no rows selected
2. find the object id for the index of that table and finding the wait events to that object_id.
SYS@ccmintpt1 SQL>select data_object_id from dba_objects where object_name='XAK2ACCOUNT_DETAIL_DENORM';
DATA_OBJECT_ID
88655
SID EVENT WAIT_CLASS WAIT_CLASS#
1 rdbms ipc message Idle 6
2 heartbeat monitor sleep Idle 6
3 rdbms ipc message Idle 6
4 wait for unread message on broadcast channel Idle 6
6 SQL*Net message from client Idle 6
7 SQL*Net message from client Idle 6
8 SQL*Net message from client Idle 6
9 SQL*Net message from client Idle 6
10 SQL*Net message from client Idle 6
11 SQL*Net message from client Idle 6
12 SQL*Net message from client Idle 6
13 SQL*Net message from client Idle 6
1876 SQL*Net message from client Idle 6
1877 VKTM Logical Idle Wait Idle 6
1878 rdbms ipc message Idle 6
1879 rdbms ipc message Idle 6
1880 rdbms ipc message Idle 6
1881 SQL*Net message from client Idle 6
3200 SQL*Net message from client Idle 6
3210 SQL*Net message from client Idle 6
3212 db file sequential read User I/O 8
3213 SQL*Net message from client Idle 6
3214 SQL*Net message from client Idle 6
3216 SQL*Net message from client Idle 6
3751 rdbms ipc message Idle 6
3752 gcs remote message Idle 6
3754 rdbms ipc message Idle 6
3756 SQL*Net message from client Idle 6
3757 SQL*Net message from client Idle 6
1326 SQL*Net message from client Idle 6
1876 Streams AQ: waiting for time management or cleanup tasks Idle 6
1877 VKTM Logical Idle Wait Idle 6
1878 rdbms ipc message Idle 6
1879 rdbms ipc message Idle 6
1880 rdbms ipc message Idle 6
1882 SQL*Net message from client Idle 6
3751 rdbms ipc message Idle 6
3752 gcs remote message Idle 6
3754 rdbms ipc message Idle 6
3756 rdbms ipc message Idle 6
3758 SQL*Net message from client Idle 6
3759 PX Deq: Execution Msg Idle 6
3200 SQL*Net message from client Idle 6
3210 SQL*Net message from client Idle 6
3212 db file sequential read User I/O 8
3213 SQL*Net message from client Idle 6
3214 SQL*Net message from client Idle 6
3216 SQL*Net message from client Idle 6
3751 rdbms ipc message Idle 6
3752 gcs remote message Idle 6
3754 rdbms ipc message Idle 6
3756 SQL*Net message from client Idle 6
3757 SQL*Net message from client Idle 6
3786 SQL*Net message from client Idle 6
3787 SQL*Net message from client Idle 6
1 heartbeat monitor sleep Idle 6
2 wait for unread message on broadcast channel Idle 6
314 rdbms ipc message Idle 6
315 Streams AQ: qmn coordinator idle wait Idle 6
627 pmon timer Idle 6
628 rdbms ipc message Idle 6
629 Streams AQ: waiting for messages in the queue Idle 6
940 Streams AQ: waiting for time management or cleanup tasks Idle 6
941 VKTM Logical Idle Wait Idle 6
942 rdbms ipc message Idle 6
1253 rdbms ipc message Idle 6
1254 rdbms ipc message Idle 6
1256 Space Manager: slave idle wait Idle 6
1566 DIAG idle wait Idle 6
1567 rdbms ipc message Idle 6
1568 Streams AQ: qmn slave idle wait Idle 6
1879 rdbms ipc message Idle 6
1880 smon timer Idle 6
1881 rdbms ipc message Idle 6
2192 PING Idle 6
2193 rdbms ipc message Idle 6
2194 rdbms ipc message Idle 6
2505 rdbms ipc message Idle 6
2506 rdbms ipc message Idle 6
2818 rdbms ipc message Idle 6
2819 rdbms ipc message Idle 6
2821 PX Deq: reap credit Other 0
3131 DIAG idle wait Idle 6
3132 jobq slave wait Idle 6
3444 rdbms ipc message Idle 6
3445 jobq slave wait Idle 6
3757 ges remote message Idle 6
3758 rdbms ipc message Idle 6
3759 VKRM Idle Idle 6
4070 gcs remote message Idle 6
4072 rdbms ipc message Idle 6
4383 gcs remote message Idle 6
4385 PX Deq: Execution Msg Idle 6
4696 rdbms ipc message Idle 6
4697 rdbms ipc message Idle 6
1 rdbms ipc message Idle 6
2 heartbeat monitor sleep Idle 6
3 rdbms ipc message Idle 6
4 wait for unread message on broadcast channel Idle 6
6 SQL*Net message from client Idle 6
From this output, what are the waits events i need to take into consideration.
Is this the right approach to follow?
Please let me know.
Thanks in advance.

user13162661 wrote:
Hi Gurus.
I need you help to find out the wait events for a particular table and index when batch export job running from the application. I have done some work around to to find out, but i am not able to figure out the issue or what are the wait events. i am working on linux 4node rac 11gR2.
Below are the steps i have done.
1. find object_id for a table finding the wait events to that object_id.
SYS@ccmintpt1 SQL>select data_object_id from dba_objects where object_name='ACCOUNT_DETAIL_DENORM';
DATA_OBJECT_ID
82646
88518
84184
SYS@ccmintpt1 SQL>select w.sid,w.event,w.wait_class,w.wait_class# from gv$session s,gv$session_wait w where s.row_wait_obj#=82646;
no rows selected
SYS@ccmintpt1 SQL>select w.sid,w.event,w.wait_class,w.wait_class# from gv$session s,gv$session_wait w where s.row_wait_obj#=88518;
no rows selected
SYS@ccmintpt1 SQL>select w.sid,w.event,w.wait_class,w.wait_class# from gv$session s,gv$session_wait w where s.row_wait_obj#=84184;
no rows selected
2. find the object id for the index of that table and finding the wait events to that object_id.
SYS@ccmintpt1 SQL>select data_object_id from dba_objects where object_name='XAK2ACCOUNT_DETAIL_DENORM';
DATA_OBJECT_ID
88655
SID EVENT WAIT_CLASS WAIT_CLASS#
1 rdbms ipc message Idle 6
2 heartbeat monitor sleep Idle 6
3 rdbms ipc message Idle 6
4 wait for unread message on broadcast channel Idle 6
6 SQL*Net message from client Idle 6
7 SQL*Net message from client Idle 6
8 SQL*Net message from client Idle 6
9 SQL*Net message from client Idle 6
10 SQL*Net message from client Idle 6
11 SQL*Net message from client Idle 6
12 SQL*Net message from client Idle 6
13 SQL*Net message from client Idle 6
1876 SQL*Net message from client Idle 6
1877 VKTM Logical Idle Wait Idle 6
1878 rdbms ipc message Idle 6
1879 rdbms ipc message Idle 6
1880 rdbms ipc message Idle 6
1881 SQL*Net message from client Idle 6
3200 SQL*Net message from client Idle 6
3210 SQL*Net message from client Idle 6
3212 db file sequential read User I/O 8
3213 SQL*Net message from client Idle 6
3214 SQL*Net message from client Idle 6
3216 SQL*Net message from client Idle 6
3751 rdbms ipc message Idle 6
3752 gcs remote message Idle 6
3754 rdbms ipc message Idle 6
3756 SQL*Net message from client Idle 6
3757 SQL*Net message from client Idle 6
1326 SQL*Net message from client Idle 6
1876 Streams AQ: waiting for time management or cleanup tasks Idle 6
1877 VKTM Logical Idle Wait Idle 6
1878 rdbms ipc message Idle 6
1879 rdbms ipc message Idle 6
1880 rdbms ipc message Idle 6
1882 SQL*Net message from client Idle 6
3751 rdbms ipc message Idle 6
3752 gcs remote message Idle 6
3754 rdbms ipc message Idle 6
3756 rdbms ipc message Idle 6
3758 SQL*Net message from client Idle 6
3759 PX Deq: Execution Msg Idle 6
3200 SQL*Net message from client Idle 6
3210 SQL*Net message from client Idle 6
3212 db file sequential read User I/O 8
3213 SQL*Net message from client Idle 6
3214 SQL*Net message from client Idle 6
3216 SQL*Net message from client Idle 6
3751 rdbms ipc message Idle 6
3752 gcs remote message Idle 6
3754 rdbms ipc message Idle 6
3756 SQL*Net message from client Idle 6
3757 SQL*Net message from client Idle 6
3786 SQL*Net message from client Idle 6
3787 SQL*Net message from client Idle 6
1 heartbeat monitor sleep Idle 6
2 wait for unread message on broadcast channel Idle 6
314 rdbms ipc message Idle 6
315 Streams AQ: qmn coordinator idle wait Idle 6
627 pmon timer Idle 6
628 rdbms ipc message Idle 6
629 Streams AQ: waiting for messages in the queue Idle 6
940 Streams AQ: waiting for time management or cleanup tasks Idle 6
941 VKTM Logical Idle Wait Idle 6
942 rdbms ipc message Idle 6
1253 rdbms ipc message Idle 6
1254 rdbms ipc message Idle 6
1256 Space Manager: slave idle wait Idle 6
1566 DIAG idle wait Idle 6
1567 rdbms ipc message Idle 6
1568 Streams AQ: qmn slave idle wait Idle 6
1879 rdbms ipc message Idle 6
1880 smon timer Idle 6
1881 rdbms ipc message Idle 6
2192 PING Idle 6
2193 rdbms ipc message Idle 6
2194 rdbms ipc message Idle 6
2505 rdbms ipc message Idle 6
2506 rdbms ipc message Idle 6
2818 rdbms ipc message Idle 6
2819 rdbms ipc message Idle 6
2821 PX Deq: reap credit Other 0
3131 DIAG idle wait Idle 6
3132 jobq slave wait Idle 6
3444 rdbms ipc message Idle 6
3445 jobq slave wait Idle 6
3757 ges remote message Idle 6
3758 rdbms ipc message Idle 6
3759 VKRM Idle Idle 6
4070 gcs remote message Idle 6
4072 rdbms ipc message Idle 6
4383 gcs remote message Idle 6
4385 PX Deq: Execution Msg Idle 6
4696 rdbms ipc message Idle 6
4697 rdbms ipc message Idle 6
1 rdbms ipc message Idle 6
2 heartbeat monitor sleep Idle 6
3 rdbms ipc message Idle 6
4 wait for unread message on broadcast channel Idle 6
6 SQL*Net message from client Idle 6
From this output, what are the waits events i need to take into consideration.
Is this the right approach to follow?
Please let me know.
Thanks in advance.what actual problem are you trying to solve?
post SQL & results that have you concerned about wait events

Similar Messages

  • How to find the BTE event for FBCJ transaction code

    Hi All,
            i need to find the BTE event for Finance related transaction codes.i checked in the SWEL transaction code, didnt find any event triggered and the standard BADI doesnt suite my requirement.The transaction code  which i tried is FBCJ.can anyone help me how to find the BTE event for the above mentioned transaction.
    Thanks in Advance,
    lokesh kumar.K

    Hello Lokesh,
    The following is one of the process of finding a BTE and implementing it.
    (1)Goto transction FIBF .Execute it with Attribute type = 'A'. Then in the menubar Environment->Info System (P/S )
           Go through the list of BTE's available with the description available beside.
    (2)Select the BTE you want to implement.
    (3)Press button Sample function module
    (4)This brings you to SE37 - Copy the sample function module to a Z-function module (First create a new function group for the function module) . Note: The name of the Z-functionmodule is not important
    (5)Edit the code in the new function module
    (6)Go back to transaction FIBF - Menu Settings->Products -> Of a customer and create a new product whicj identifies the new product . Remember to mark the Active field.
    (7)Go back to FIBF menu Settings->P/S function modules->of a customer - Create an entry that links the BTE and Product with the new function module
    Hope this will help.
    Regards,
    Samson

  • Help ! I can't find the "field" tab for an object in the library

    Just starting out with the software. I want to place a text box that spans several lines and "allow multiple lines" in a form I am building. The only problem is I can't find the field tab for the text box object. The only two tabs I have at the top of the object library is "Object Library" and "Fragment Library"
    What am I missing?

    Click on the Object Library. Below that there shoudl be three libraries (My Favorites, Standard and Custom). The Textfield is in the Standard library. If all else false you can use the Insert Menu and then choose standard from there.
    Paul

  • Where to find the document uplaoded for HR object link through DMS?

    Hi,
    This is regarding HR object link (Object link PLOGI,screen 500) through DMS .
    I have attached a document for a personnel number in CV01N transcation tab HR Object by specifying plan version : blank, Object type 'Person', Object ID -selected the personeel number.
    I wanted to view or display this document from HR transactions,Please let me know from whic transaction and menu path I can view the uploaded document.
    Regards,
    khaderhussain.

    Dear Khadir,
    you can check service for object(attachment) in TR. code for Personnel Number.
    Aby,
    well said about, Archivelink is the preferred solution for maintaining HR Documents.
    As Archive Link solution given so many times by many experts.
    but, what about
    1.TREX Search for HR documents.
    2.What abt Authorisation control
    3.do you think end user can upload documents easily by selecting object/doc.types in OAAD(ie.OAOH)
    4.can you maintain folder structure through Archive Link?
    can anybody clarify these queries as it is mandetory in most of business processes? if not what is the alternative solution.
    thx. in advance..

  • How to find the WhereUsed List for a Business Object Event?

    How to find the WhereUsed List for a Business Object Event?

    Can anybody let me know how to get which
    Whereused  function will get the data from
    different Werks in multi-level?
    Any sample program please!!!

  • Nternal ERROR: Can not find the ACL containter for object ...

    We are using OWB 10.2.0.3. We tried to introduce two basic roles to prevent user A from accessing certain parts of our project. Somehow (I cannot really say how) we ended up in the error message below whenever we want to modify the security properties of an object.
    Neither in metalink nor in the oracle forums I could find any hint about that error.
    Can anyone help??
    Thanks in advance, Maren
    Internal ERROR: Can not find the ACL containter for object:CMPMap@1ba11bc/id=2023180/owningFCO=2023180/proxyFor=(CMPMapGen@1a4d5c6/id=2023180/stname=CMPBatchMap/pname=LOAD_XML/lname=LOAD_XML/status=CLEAN/committed=true/persistent=true/propsLoaded=false)
    Internal ERROR: Can not find the ACL containter for object:CMPMap@1ba11bc/id=2023180/owningFCO=2023180/proxyFor=(CMPMapGen@1a4d5c6/id=2023180/stname=CMPBatchMap/pname=LOAD_XML/lname=LOAD_XML/status=CLEAN/committed=true/persistent=true/propsLoaded=false)
         at oracle.wh.repos.pdl.security.SecurityPolicyManager.getAccessCharMapOfPrivilegeOwner(SecurityPolicyManager.java:166)
         at oracle.wh.repos.impl.foundation.CMPElement.getAccessCharMapOfPrivilegeOwner(CMPElement.java:2743)
         at oracle.wh.repos.pdl.security.OWBSecurityImpl.hasPrivilege(OWBSecurityImpl.java:820)
         at oracle.wh.repos.pdl.security.OWBSecurityImpl.internalSecurityCheck(OWBSecurityImpl.java:1449)
         at oracle.wh.repos.pdl.security.OWBSecurityImpl.securityCheck(OWBSecurityImpl.java:649)
         at oracle.wh.repos.pdl.security.SecurityModuleImpl.securityCheck(SecurityModuleImpl.java:660)
         at oracle.wh.repos.pdl.security.SecurityModuleImpl.securityCheck(SecurityModuleImpl.java:623)
         at oracle.wh.ui.common.WhSecurityHelper.securityCheck(WhSecurityHelper.java:112)
         at oracle.wh.ui.console.commands.EditObjectCmd.performAction(EditObjectCmd.java:107)
         at oracle.wh.ui.console.commands.TreeMenuHandler$1.run(TreeMenuHandler.java:188)
         at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:189)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:478)
         at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
         at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)

    Hi Maren
    Like you I get this error and do not know what steps caused it.In my scenario I have some mappings that give the error and some that do not - the repository user gets the error but the repository owner does not.
    Thinking back over the last number of months (as this project contains 7-8 months od work - we do have exports of the project) I think the ones giving the error are those that perhaps were copied from another to start the coding but I cannot be sure.
    I have read the metalink note mentioned above as well as the the queries posted by Oleg and yourself. The queries posted are slightly different, one has a where clause
    fco.classname = 'CMPACLContainer' (Maren's)
    and the other
    fco.classname='CMPMap' (Oleg's).
    Was this intentional Maren on your behalf for your problem to be fixed?
    We are using 10.2.0.3.33 OWB client and 10.2.0.3.0 OWB repository.
    Thanks
    Edwin

  • How to find the offending DML for "enq: TX - row lock contention"

    Hello All,
    1) How can I find the offending DML for "enq: TX - row lock contention". I have tracked down the Blocking and Waiting Sessions as well as the Database Object too. But i am not able to find the DML (with values of bind variables) or the row for which both these sessions are fighting for?
    Current Wait Event:  enq: TX - row lock contention
    Current Wait Class:  Application
    Wait Duration:  5:15 (mm:ss)
    P1:  name|mode 1415053318
    P2:  usn<<16 | slot 12058642
    P3:  sequence 39951
    Object:  USERNAME.MEMBER 2) Also does *"enq: TX - row lock contention"* means Both the sessions are fighting for the same Row only or it can be different rows but same database block? If they are fighting for different rows, then can we try increasing the initrans of tables/indexes to prevent this wait.
    Please advice.
    Regards,
    Tommy

    Thanks Randolf, Mark and Aman for your valuable inputs. We are using 10.2 and the lock mode held and requested is 6. And the Wait Event is "enq: TX - row lock contention".
    Based on the above facts and based on Randolf's Blog, can we ignore the following cases?:
    - Same unique key written by different sessions: Because mode held and requested in ym case is 6 whereas in Randolf example it is 6 and 4 respectively
    - Unindexed foreign keys and modifications to parent table primary keys: Because Wait Event in my case is "enq: TX - row lock contention"
    - Insufficient block space and ITL slot shortage: Because Wait Event in my case is "enq: TX - row lock contention" and not enq: TX - allocate ITL entry
    - Segments with low MAXTRANS settings Only pre-10g: But Mine is 10g
    And the possible scenarios left out scenarios are:
    - Bitmap indexes
    - Same Row modified by different sessions
    I will now try to find out the sql/dml that is causing the problem. Thank you all for your help once again.
    SESS                        ID1        ID2      LMODE    REQUEST TY
    Holder: 138              393224       1330          6          0 TX
    Waiter: 140              393224       1330          0          6 TX

  • Create new event for BOR object  for vendor creation

    Hello,
              I AM working on workflow.. Requrement is that , when a vendor is created I wanted the workflow to be triggered..
    But I dont find any bussiness object for this...
          Then I have created customized BOR object super type as LFA1. And created new event. Now I need to assign functionlity to this event, that is As soon as the vendor is created this event should be triggered so that I can use this as the start event for the workflow..
    Plz guide me ...
    Regards and Thanks,
    Poornima...

    Hi Poornima,
    Create a subtype and add the event in the BOR.
    Now call the FM  Userexit / BADI.
      CALL FUNCTION 'SAP_WAPI_CREATE_EVENT'
        EXPORTING
          OBJECT_TYPE             = 'ZKNA1'
          OBJECT_KEY              = OBJECT_KEY
          EVENT                   = 'ONSAVE'
    *   COMMIT_WORK             = 'X'
    *   EVENT_LANGUAGE          = SY-LANGU
    *   LANGUAGE                = SY-LANGU
    *   USER                    = SY-UNAME
    *   IFS_XML_CONTAINER       =
    * IMPORTING
    *   RETURN_CODE             =
    *   EVENT_ID                =
       TABLES
         INPUT_CONTAINER         = IT_CONTAINER
    *   MESSAGE_LINES           =
    *   MESSAGE_STRUCT          =
      IF SY-SUBRC <> 0.
        ENDIF.
    &******************Reward Point if helpful*************************&

  • Could not find the principal resource for user id: paf

    I think I have set up iCal server correctly on a MacOSX 10.5.1 server (upgraded from 10.4.x). But regardless of how many different URLs etc I am trying, I can neither access calendars, nor subscribe to them. I am trying both with Safari and Firefox and iCal client on MacOSX 10.5.1.
    I have iCal service running.
    I have added the user "paf" that have full admin access, and also calendar service is turned on on the server calendar.frobbit.se. Calendar.frobbit.se is one of the hostnames for the server btw.
    I have a group called "canusecalendar" that "paf" is a member of.
    The access for iCal service on the host is for the group canusecalendar and for the user paf, where paf is administrator.
    The closest I have come is when I use a web browser and try to access any URL starting with http://calendar.frobbit.se:8008/. It ask for login, I give the credentials, and in the error log for the iCal service I see the following:
    <pre>2008-02-10 20:46:57+0100 [-] [caldav-8009] [AMP,client] Could not find the principal resource for user id: paf</pre>
    I do see tons of postings by people that more or less guess what URIs to use in browsers, for group calendars, in iCal client when connecting to an account or subscribing. Does anyone on this list know of an authoritative list of URLs that one should use here and there? The closest I have come is the "advanced" section of the iCal Administration document from Apple.

    Yes, I add users using workgroup manager, although the one I now use was added already in version 10.4 of MacOSX Server. I.e. before I upgraded to 10.5.
    Here is error.log (after that access.log):
    <pre>
    2008-02-11 20:32:23+0100 [-] Log opened.
    2008-02-11 20:32:23+0100 [-] twistd 2.5.0 (/System/Library/Frameworks/Python.framework/Versions/2.5/Resources/Python.app/ Contents/MacOS/Python 2.5.1) starting up
    2008-02-11 20:32:23+0100 [-] reactor class: <class 'twisted.internet.selectreactor.SelectReactor'>
    2008-02-11 20:32:23+0100 [-] 4 processors found, configuring 4 processes.
    2008-02-11 20:32:23+0100 [-] Adding pydirector service with configuration: /tmp/pydirtLZ2ZY
    2008-02-11 20:32:23+0100 [-] twistedcaldav.logging.AMPLoggingFactory starting on "'/var/run/caldavd.sock'"
    2008-02-11 20:32:23+0100 [-] [caldav-8009] [-] Log opened.
    2008-02-11 20:32:23+0100 [-] [caldav-8009] [-] twistd 2.5.0 (/System/Library/Frameworks/Python.framework/Versions/2.5/Resources/Python.app/ Contents/MacOS/Python 2.5.1) starting up
    2008-02-11 20:32:23+0100 [-] [caldav-8009] [-] reactor class: <class 'twisted.internet.selectreactor.SelectReactor'>
    2008-02-11 20:32:23+0100 [-] [caldav-8009] [-] Configuring directory service of type: twistedcaldav.directory.appleopendirectory.OpenDirectoryService
    2008-02-11 20:32:23+0100 [-] [caldav-8011] [-] Log opened.
    2008-02-11 20:32:23+0100 [-] [caldav-8011] [-] twistd 2.5.0 (/System/Library/Frameworks/Python.framework/Versions/2.5/Resources/Python.app/ Contents/MacOS/Python 2.5.1) starting up
    2008-02-11 20:32:23+0100 [-] [caldav-8011] [-] reactor class: <class 'twisted.internet.selectreactor.SelectReactor'>
    2008-02-11 20:32:23+0100 [-] [caldav-8012] [-] Log opened.
    2008-02-11 20:32:23+0100 [-] [caldav-8012] [-] twistd 2.5.0 (/System/Library/Frameworks/Python.framework/Versions/2.5/Resources/Python.app/ Contents/MacOS/Python 2.5.1) starting up
    2008-02-11 20:32:23+0100 [-] [caldav-8012] [-] reactor class: <class 'twisted.internet.selectreactor.SelectReactor'>
    2008-02-11 20:32:23+0100 [-] [caldav-8011] [-] Configuring directory service of type: twistedcaldav.directory.appleopendirectory.OpenDirectoryService
    2008-02-11 20:32:23+0100 [-] [caldav-8012] [-] Configuring directory service of type: twistedcaldav.directory.appleopendirectory.OpenDirectoryService
    2008-02-11 20:32:23+0100 [-] [caldav-8010] [-] Log opened.
    2008-02-11 20:32:23+0100 [-] [caldav-8010] [-] twistd 2.5.0 (/System/Library/Frameworks/Python.framework/Versions/2.5/Resources/Python.app/ Contents/MacOS/Python 2.5.1) starting up
    2008-02-11 20:32:23+0100 [-] [caldav-8010] [-] reactor class: <class 'twisted.internet.selectreactor.SelectReactor'>
    2008-02-11 20:32:23+0100 [-] [caldav-8010] [-] Configuring directory service of type: twistedcaldav.directory.appleopendirectory.OpenDirectoryService
    2008-02-11 20:32:23+0100 [-] [caldav-8009] [-] "Directory service <OpenDirectoryService '/Search': '/Search'> has no GUID; generating service GUID from realm name."
    2008-02-11 20:32:23+0100 [-] [caldav-8012] [-] "Directory service <OpenDirectoryService '/Search': '/Search'> has no GUID; generating service GUID from realm name."
    2008-02-11 20:32:23+0100 [-] [caldav-8009] [-] Configuring SudoDirectoryService with file: /etc/caldavd/sudoers.plist
    2008-02-11 20:32:23+0100 [-] [caldav-8009] [-] Setting up document root at: /Library/CalendarServer/Documents
    2008-02-11 20:32:23+0100 [-] [caldav-8009] [-] Setting up principal collection: <class 'twistedcaldav.directory.principal.DirectoryPrincipalProvisioningResource'>
    2008-02-11 20:32:23+0100 [-] [caldav-8009] [-] Setting up calendar collection: <class 'twistedcaldav.static.CalendarHomeProvisioningFile'>
    2008-02-11 20:32:23+0100 [-] [caldav-8009] [-] Setting up root resource: <class 'twistedcaldav.root.RootResource'>
    2008-02-11 20:32:23+0100 [-] [caldav-8011] [-] "Directory service <OpenDirectoryService '/Search': '/Search'> has no GUID; generating service GUID from realm name."
    2008-02-11 20:32:23+0100 [-] [caldav-8009] [-] Setting up default ACEs on root resource
    2008-02-11 20:32:23+0100 [-] [caldav-8009] [-] Setting up AdminPrincipals
    2008-02-11 20:32:23+0100 [-] [caldav-8009] [-] Setting root ACL
    2008-02-11 20:32:23+0100 [-] [caldav-8009] [-] Configuring authentication for realm: /Search
    2008-02-11 20:32:23+0100 [-] [caldav-8009] [-] Setting up scheme: kerberos
    2008-02-11 20:32:23+0100 [-] [caldav-8012] [-] Configuring SudoDirectoryService with file: /etc/caldavd/sudoers.plist
    2008-02-11 20:32:23+0100 [-] [caldav-8012] [-] Setting up document root at: /Library/CalendarServer/Documents
    2008-02-11 20:32:23+0100 [-] [caldav-8012] [-] Setting up principal collection: <class 'twistedcaldav.directory.principal.DirectoryPrincipalProvisioningResource'>
    2008-02-11 20:32:23+0100 [-] [caldav-8011] [-] Configuring SudoDirectoryService with file: /etc/caldavd/sudoers.plist
    2008-02-11 20:32:23+0100 [-] [caldav-8012] [-] Setting up calendar collection: <class 'twistedcaldav.static.CalendarHomeProvisioningFile'>
    2008-02-11 20:32:23+0100 [-] [caldav-8011] [-] Setting up document root at: /Library/CalendarServer/Documents
    2008-02-11 20:32:23+0100 [-] [caldav-8011] [-] Setting up principal collection: <class 'twistedcaldav.directory.principal.DirectoryPrincipalProvisioningResource'>
    2008-02-11 20:32:23+0100 [-] [caldav-8012] [-] Setting up root resource: <class 'twistedcaldav.root.RootResource'>
    2008-02-11 20:32:23+0100 [-] [caldav-8011] [-] Setting up calendar collection: <class 'twistedcaldav.static.CalendarHomeProvisioningFile'>
    2008-02-11 20:32:23+0100 [-] [caldav-8011] [-] Setting up root resource: <class 'twistedcaldav.root.RootResource'>
    2008-02-11 20:32:23+0100 [-] [caldav-8012] [-] Setting up default ACEs on root resource
    2008-02-11 20:32:23+0100 [-] [caldav-8012] [-] Setting up AdminPrincipals
    2008-02-11 20:32:23+0100 [-] [caldav-8012] [-] Setting root ACL
    2008-02-11 20:32:23+0100 [-] [caldav-8011] [-] Setting up default ACEs on root resource
    2008-02-11 20:32:23+0100 [-] [caldav-8011] [-] Setting up AdminPrincipals
    2008-02-11 20:32:23+0100 [-] [caldav-8011] [-] Setting root ACL
    2008-02-11 20:32:23+0100 [-] [caldav-8010] [-] "Directory service <OpenDirectoryService '/Search': '/Search'> has no GUID; generating service GUID from realm name."
    2008-02-11 20:32:23+0100 [-] [caldav-8010] [-] Configuring SudoDirectoryService with file: /etc/caldavd/sudoers.plist
    2008-02-11 20:32:23+0100 [-] [caldav-8010] [-] Setting up document root at: /Library/CalendarServer/Documents
    2008-02-11 20:32:23+0100 [-] [caldav-8010] [-] Setting up principal collection: <class 'twistedcaldav.directory.principal.DirectoryPrincipalProvisioningResource'>
    2008-02-11 20:32:23+0100 [-] [caldav-8010] [-] Setting up calendar collection: <class 'twistedcaldav.static.CalendarHomeProvisioningFile'>
    2008-02-11 20:32:23+0100 [-] [caldav-8010] [-] Setting up root resource: <class 'twistedcaldav.root.RootResource'>
    2008-02-11 20:32:23+0100 [-] [caldav-8010] [-] Setting up default ACEs on root resource
    2008-02-11 20:32:23+0100 [-] [caldav-8010] [-] Setting up AdminPrincipals
    2008-02-11 20:32:23+0100 [-] [caldav-8010] [-] Setting root ACL
    2008-02-11 20:32:23+0100 [-] [caldav-8009] [KerberosCredentialFactoryBase] getServerPrincipalDetails: ('Principal not found in keytab', -1)
    2008-02-11 20:32:23+0100 [-] [caldav-8009] [-] Could not start Kerberos
    2008-02-11 20:32:23+0100 [-] [caldav-8009] [-] Setting up scheme: digest
    2008-02-11 20:32:23+0100 [-] [caldav-8012] [-] Configuring authentication for realm: /Search
    2008-02-11 20:32:23+0100 [-] [caldav-8012] [-] Setting up scheme: kerberos
    2008-02-11 20:32:23+0100 [-] [caldav-8010] [-] Configuring authentication for realm: /Search
    2008-02-11 20:32:23+0100 [-] [caldav-8010] [-] Setting up scheme: kerberos
    2008-02-11 20:32:23+0100 [-] [caldav-8011] [-] Configuring authentication for realm: /Search
    2008-02-11 20:32:23+0100 [-] [caldav-8011] [-] Setting up scheme: kerberos
    2008-02-11 20:32:23+0100 [-] [caldav-8011] [KerberosCredentialFactoryBase] getServerPrincipalDetails: ('Principal not found in keytab', -1)
    2008-02-11 20:32:23+0100 [-] [caldav-8012] [KerberosCredentialFactoryBase] getServerPrincipalDetails: ('Principal not found in keytab', -1)
    2008-02-11 20:32:23+0100 [-] [caldav-8012] [-] Could not start Kerberos
    2008-02-11 20:32:23+0100 [-] [caldav-8012] [-] Setting up scheme: digest
    2008-02-11 20:32:23+0100 [-] [caldav-8011] [-] Could not start Kerberos
    2008-02-11 20:32:23+0100 [-] [caldav-8011] [-] Setting up scheme: digest
    2008-02-11 20:32:23+0100 [-] [caldav-8010] [KerberosCredentialFactoryBase] getServerPrincipalDetails: ('Principal not found in keytab', -1)
    2008-02-11 20:32:23+0100 [-] [caldav-8010] [-] Could not start Kerberos
    2008-02-11 20:32:23+0100 [-] [caldav-8010] [-] Setting up scheme: digest
    2008-02-11 20:32:23+0100 [-] [caldav-8009] [-] Configuring authentication wrapper
    2008-02-11 20:32:23+0100 [-] [caldav-8009] [-] Setting up service
    2008-02-11 20:32:23+0100 [-] [caldav-8009] [-] Configuring log observer: <twistedcaldav.logging.AMPCommonAccessLoggingObserver object at 0x145c930>
    2008-02-11 20:32:23+0100 [-] [caldav-8009] [-] Adding server at 127.0.0.1:8009
    2008-02-11 20:32:23+0100 [-] [caldav-8009] [-] Adding SSL server at 127.0.0.1:8444
    2008-02-11 20:32:23+0100 [-] [caldav-8009] [-] twisted.web2.channel.http.HTTPFactory starting on 8009
    2008-02-11 20:32:23+0100 [-] [caldav-8009] [-] Starting factory <twisted.web2.channel.http.HTTPFactory instance at 0x14595a8>
    2008-02-11 20:32:23+0100 [-] [caldav-8009] [-] twisted.web2.channel.http.HTTPFactory starting on 8444
    2008-02-11 20:32:23+0100 [-] [caldav-8009] [-] set uid/gid 93/93
    2008-02-11 20:32:23+0100 [twistedcaldav.logging.AMPLoggingFactory] AMPLoggingProtocol connection established (HOST:UNIXSocket('/var/run/caldavd.sock') PEER:UNIXSocket(''))
    2008-02-11 20:32:23+0100 [-] [caldav-8009] [-] AMP connection established (HOST:UNIXSocket(None) PEER:UNIXSocket('/var/run/caldavd.sock'))
    2008-02-11 20:32:24+0100 [-] [caldav-8012] [-] Configuring authentication wrapper
    2008-02-11 20:32:24+0100 [-] [caldav-8012] [-] Setting up service
    2008-02-11 20:32:24+0100 [-] [caldav-8010] [-] Configuring authentication wrapper
    2008-02-11 20:32:24+0100 [-] [caldav-8010] [-] Setting up service
    2008-02-11 20:32:24+0100 [-] [caldav-8010] [-] Configuring log observer: <twistedcaldav.logging.AMPCommonAccessLoggingObserver object at 0x145c7b0>
    2008-02-11 20:32:24+0100 [-] [caldav-8011] [-] Configuring authentication wrapper
    2008-02-11 20:32:24+0100 [-] [caldav-8011] [-] Setting up service
    2008-02-11 20:32:24+0100 [-] [caldav-8011] [-] Configuring log observer: <twistedcaldav.logging.AMPCommonAccessLoggingObserver object at 0x145c7b0>
    2008-02-11 20:32:24+0100 [-] [caldav-8011] [-] Adding server at 127.0.0.1:8011
    2008-02-11 20:32:24+0100 [-] [caldav-8012] [-] Configuring log observer: <twistedcaldav.logging.AMPCommonAccessLoggingObserver object at 0x145c7b0>
    2008-02-11 20:32:24+0100 [-] [caldav-8012] [-] Adding server at 127.0.0.1:8012
    2008-02-11 20:32:24+0100 [-] [caldav-8012] [-] Adding SSL server at 127.0.0.1:8447
    2008-02-11 20:32:24+0100 [-] [caldav-8010] [-] Adding server at 127.0.0.1:8010
    2008-02-11 20:32:24+0100 [-] [caldav-8010] [-] Adding SSL server at 127.0.0.1:8445
    2008-02-11 20:32:24+0100 [-] [caldav-8011] [-] Adding SSL server at 127.0.0.1:8446
    2008-02-11 20:32:24+0100 [-] [caldav-8012] [-] twisted.web2.channel.http.HTTPFactory starting on 8012
    2008-02-11 20:32:24+0100 [-] [caldav-8012] [-] Starting factory <twisted.web2.channel.http.HTTPFactory instance at 0x14595a8>
    2008-02-11 20:32:24+0100 [-] [caldav-8010] [-] twisted.web2.channel.http.HTTPFactory starting on 8010
    2008-02-11 20:32:24+0100 [-] [caldav-8010] [-] Starting factory <twisted.web2.channel.http.HTTPFactory instance at 0x14595a8>
    2008-02-11 20:32:24+0100 [-] [caldav-8010] [-] twisted.web2.channel.http.HTTPFactory starting on 8445
    2008-02-11 20:32:24+0100 [-] [caldav-8011] [-] twisted.web2.channel.http.HTTPFactory starting on 8011
    2008-02-11 20:32:24+0100 [-] [caldav-8011] [-] Starting factory <twisted.web2.channel.http.HTTPFactory instance at 0x14595a8>
    2008-02-11 20:32:24+0100 [-] [caldav-8011] [-] twisted.web2.channel.http.HTTPFactory starting on 8446
    2008-02-11 20:32:24+0100 [-] [caldav-8012] [-] twisted.web2.channel.http.HTTPFactory starting on 8447
    2008-02-11 20:32:25+0100 [-] [caldav-8012] [-] set uid/gid 93/93
    2008-02-11 20:32:25+0100 [twistedcaldav.logging.AMPLoggingFactory] AMPLoggingProtocol connection established (HOST:UNIXSocket('/var/run/caldavd.sock') PEER:UNIXSocket(''))
    2008-02-11 20:32:25+0100 [-] [caldav-8012] [-] AMP connection established (HOST:UNIXSocket(None) PEER:UNIXSocket('/var/run/caldavd.sock'))
    2008-02-11 20:32:25+0100 [twistedcaldav.logging.AMPLoggingFactory] AMPLoggingProtocol connection established (HOST:UNIXSocket('/var/run/caldavd.sock') PEER:UNIXSocket(''))
    2008-02-11 20:32:25+0100 [-] [caldav-8010] [-] set uid/gid 93/93
    2008-02-11 20:32:25+0100 [-] [caldav-8010] [-] AMP connection established (HOST:UNIXSocket(None) PEER:UNIXSocket('/var/run/caldavd.sock'))
    2008-02-11 20:32:25+0100 [-] [caldav-8011] [-] set uid/gid 93/93
    2008-02-11 20:32:25+0100 [twistedcaldav.logging.AMPLoggingFactory] AMPLoggingProtocol connection established (HOST:UNIXSocket('/var/run/caldavd.sock') PEER:UNIXSocket(''))
    2008-02-11 20:32:25+0100 [-] [caldav-8011] [-] AMP connection established (HOST:UNIXSocket(None) PEER:UNIXSocket('/var/run/caldavd.sock'))
    2008-02-11 20:32:57+0100 [-] [caldav-8009] [-] AMP connection established (HOST:UNIXSocket(None) PEER:UNIXSocket('/var/run/caldavd-pydir.sock'))
    2008-02-11 20:32:57+0100 [-] [caldav-8009] [AMP,client] Unauthenticated users not enabled with the 'calendar' SACL
    2008-02-11 20:33:04+0100 [-] [caldav-8010] [-] AMP connection established (HOST:UNIXSocket(None) PEER:UNIXSocket('/var/run/caldavd-pydir.sock'))
    2008-02-11 20:33:04+0100 [-] [caldav-8010] [AMP,client] Could not find the principal resource for user id: paf
    2008-02-11 20:33:35+0100 [-] Received SIGTERM, shutting down.
    2008-02-11 20:33:35+0100 [-] (Port None Closed)
    2008-02-11 20:33:35+0100 [AMPLoggingProtocol,0,] AMPLoggingProtocol connection lost (HOST:UNIXSocket('/var/run/caldavd.sock') PEER:UNIXSocket(''))
    2008-02-11 20:33:35+0100 [AMPLoggingProtocol,1,] AMPLoggingProtocol connection lost (HOST:UNIXSocket('/var/run/caldavd.sock') PEER:UNIXSocket(''))
    2008-02-11 20:33:35+0100 [AMPLoggingProtocol,2,] AMPLoggingProtocol connection lost (HOST:UNIXSocket('/var/run/caldavd.sock') PEER:UNIXSocket(''))
    2008-02-11 20:33:35+0100 [AMPLoggingProtocol,3,] AMPLoggingProtocol connection lost (HOST:UNIXSocket('/var/run/caldavd.sock') PEER:UNIXSocket(''))
    2008-02-11 20:33:35+0100 [-] Main loop terminated.
    2008-02-11 20:33:35+0100 [-] Server Shut Down.
    </pre>
    And here is access.log:
    <pre>
    Log opened - server start: [Mon Feb 11 20:32:23 2008].
    192.165.72.12 - - [11/Feb/2008:20:32:57 +0200] "GET / HTTP/1.1" 401 141 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-us) AppleWebKit/523.10.6 (KHTML, like Gecko) Version/3.0.4 Safari/523.10.6" [6.4 ms]
    192.165.72.12 - - [11/Feb/2008:20:33:04 +0200] "GET / HTTP/1.1" 403 123 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-us) AppleWebKit/523.10.6 (KHTML, like Gecko) Version/3.0.4 Safari/523.10.6" [60.7 ms]
    Log closed - server stop: [Mon Feb 11 20:33:35 2008].
    </pre>

  • How to find the user-exit for transaction fpp2

    Hi experts,
    could you help me how can I find the user-exit for transaction fpp2. I tried to after the package, but I did not find it.

    Hi,
    Use the following program to find user exits of specified code.
    *& Tables
    TABLES : tstc,     "SAP® Transaction Codes
             tadir,    "Directory of Repository Objects
             modsapt,  "SAP® Enhancements - Short Texts
             modact,   "Modifications
             trdir,    "System table TRDIR
             tfdir,    "Function Module
             enlfdir,  "Additional Attributes for Function Modules
             tstct.    "Transaction Code Texts
    *& Variables
    DATA : jtab LIKE tadir OCCURS 0 WITH HEADER LINE.
    DATA : field1(30).
    DATA : v_devclass LIKE tadir-devclass.
    *& Selection Screen Parameters
    SELECTION-SCREEN BEGIN OF BLOCK a01 WITH FRAME TITLE text-001.
    SELECTION-SCREEN SKIP.
    PARAMETERS : p_tcode LIKE tstc-tcode OBLIGATORY.
    SELECTION-SCREEN SKIP.
    SELECTION-SCREEN END OF BLOCK a01.
    *& Start of main program
    START-OF-SELECTION.
    Validate Transaction Code
      SELECT SINGLE * FROM tstc
        WHERE tcode EQ p_tcode.
    Find Repository Objects for transaction code
      IF sy-subrc EQ 0.
        SELECT SINGLE * FROM tadir
           WHERE pgmid    = 'R3TR'
             AND object   = 'PROG'
             AND obj_name = tstc-pgmna.
        MOVE : tadir-devclass TO v_devclass.
        IF sy-subrc NE 0.
          SELECT SINGLE * FROM trdir
             WHERE name = tstc-pgmna.
          IF trdir-subc EQ 'F'.
            SELECT SINGLE * FROM tfdir
              WHERE pname = tstc-pgmna.
            SELECT SINGLE * FROM enlfdir
              WHERE funcname = tfdir-funcname.
            SELECT SINGLE * FROM tadir
              WHERE pgmid    = 'R3TR'
                AND object   = 'FUGR'
                AND obj_name = enlfdir-area.
            MOVE : tadir-devclass TO v_devclass.
          ENDIF.
        ENDIF.
    Find SAP® Modifications
        SELECT * FROM tadir
          INTO TABLE jtab
          WHERE pgmid    = 'R3TR'
            AND object   = 'SMOD'
            AND devclass = v_devclass.
        SELECT SINGLE * FROM tstct
          WHERE sprsl EQ sy-langu
            AND tcode EQ p_tcode.
        FORMAT COLOR COL_POSITIVE INTENSIFIED OFF.
        WRITE:/(19) 'Transaction Code - ',
        20(20) p_tcode,
        45(50) tstct-ttext.
        SKIP.
        IF NOT jtab[] IS INITIAL.
          WRITE:/(95) sy-uline.
          FORMAT COLOR COL_HEADING INTENSIFIED ON.
          WRITE:/1 sy-vline,
          2 'Exit Name',
          21 sy-vline ,
          22 'Description',
          95 sy-vline.
          WRITE:/(95) sy-uline.
          LOOP AT jtab.
            SELECT SINGLE * FROM modsapt
            WHERE sprsl = sy-langu AND
            name = jtab-obj_name.
            FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
            WRITE:/1 sy-vline,
            2 jtab-obj_name HOTSPOT ON,
            21 sy-vline ,
            22 modsapt-modtext,
            95 sy-vline.
          ENDLOOP.
          WRITE:/(95) sy-uline.
          DESCRIBE TABLE jtab.
          SKIP.
          FORMAT COLOR COL_TOTAL INTENSIFIED ON.
          WRITE:/ 'No of Exits:' , sy-tfill.
        ELSE.
          FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
          WRITE:/(95) 'No User Exit exists'.
        ENDIF.
      ELSE.
        FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
        WRITE:/(95) 'Transaction Code Does Not Exist'.
      ENDIF.
    Take the user to SMOD for the Exit that was selected.
    AT LINE-SELECTION.
      GET CURSOR FIELD field1.
      CHECK field1(4) EQ 'JTAB'.
      SET PARAMETER ID 'MON' FIELD sy-lisel+1(10).
      CALL TRANSACTION 'SMOD' AND SKIP FIRST SCREEN.
    I executed the above program but there are no user exits for the specified Transaction.
    Thanks,
    Naveen Kumar.

  • How to  find the user exit for a screen..

    Hi,
    plz help me how to find the user exit for a screen..?
    Regards
    Anbu

    Hi,
    check this program this will give you the list of user-exit and BADI for the perticular Tcode.
    REPORT  zuserexit_badi.
    TABLES : tstc,
    tadir,
    modsapt,
    modact,
    trdir,
    tfdir,
    enlfdir,
    sxs_attrt ,
    tstct.
    DATA : jtab LIKE tadir OCCURS 0 WITH HEADER LINE.
    DATA : field1(30).
    DATA : v_devclass LIKE tadir-devclass.
    PARAMETERS : p_tcode LIKE tstc-tcode,
    p_pgmna LIKE tstc-pgmna .
    DATA wa_tadir TYPE tadir.
    START-OF-SELECTION.
      IF NOT p_tcode IS INITIAL.
        SELECT SINGLE * FROM tstc WHERE tcode EQ p_tcode.
      ELSEIF NOT p_pgmna IS INITIAL.
        tstc-pgmna = p_pgmna.
      ENDIF.
      IF sy-subrc EQ 0.
        SELECT SINGLE * FROM tadir
        WHERE pgmid = 'R3TR'
        AND object = 'PROG'
        AND obj_name = tstc-pgmna.
        MOVE : tadir-devclass TO v_devclass.
        IF sy-subrc NE 0.
          SELECT SINGLE * FROM trdir
          WHERE name = tstc-pgmna.
          IF trdir-subc EQ 'F'.
            SELECT SINGLE * FROM tfdir
            WHERE pname = tstc-pgmna.
            SELECT SINGLE * FROM enlfdir
            WHERE funcname = tfdir-funcname.
            SELECT SINGLE * FROM tadir
            WHERE pgmid = 'R3TR'
            AND object = 'FUGR'
            AND obj_name EQ enlfdir-area.
            MOVE : tadir-devclass TO v_devclass.
          ENDIF.
        ENDIF.
        SELECT * FROM tadir INTO TABLE jtab
        WHERE pgmid = 'R3TR'
        AND object IN ('SMOD', 'SXSD')
        AND devclass = v_devclass.
        SELECT SINGLE * FROM tstct
        WHERE sprsl EQ sy-langu
        AND tcode EQ p_tcode.
        FORMAT COLOR COL_POSITIVE INTENSIFIED OFF.
        WRITE:/(19) 'Transaction Code - ',
        20(20) p_tcode,
        45(50) tstct-ttext.
        SKIP.
        IF NOT jtab[] IS INITIAL.
          WRITE:/(105) sy-uline.
          FORMAT COLOR COL_HEADING INTENSIFIED ON.
    Sorting the internal Table
          SORT jtab BY object.
          DATA : wf_txt(60) TYPE c,
          wf_smod TYPE i ,
          wf_badi TYPE i ,
          wf_object2(30) TYPE c.
          CLEAR : wf_smod, wf_badi , wf_object2.
    Get the total SMOD.
          LOOP AT jtab INTO wa_tadir.
            AT FIRST.
              FORMAT COLOR COL_HEADING INTENSIFIED ON.
              WRITE:/1 sy-vline,
              2 'Enhancement/ Business Add-in',
              41 sy-vline ,
              42 'Description',
              105 sy-vline.
              WRITE:/(105) sy-uline.
            ENDAT.
            CLEAR wf_txt.
            AT NEW object.
              IF wa_tadir-object = 'SMOD'.
                wf_object2 = 'Enhancement' .
              ELSEIF wa_tadir-object = 'SXSD'.
                wf_object2 = ' Business Add-in'.
              ENDIF.
              FORMAT COLOR COL_GROUP INTENSIFIED ON.
              WRITE:/1 sy-vline,
              2 wf_object2,
              105 sy-vline.
            ENDAT.
            CASE wa_tadir-object.
              WHEN 'SMOD'.
                wf_smod = wf_smod + 1.
                SELECT SINGLE modtext INTO wf_txt
                FROM modsapt
                WHERE sprsl = sy-langu
                AND name = wa_tadir-obj_name.
                FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
              WHEN 'SXSD'.
    For BADis
                wf_badi = wf_badi + 1 .
                SELECT SINGLE text INTO wf_txt
                FROM sxs_attrt
                WHERE sprsl = sy-langu
                AND exit_name = wa_tadir-obj_name.
                FORMAT COLOR COL_NORMAL INTENSIFIED ON.
            ENDCASE.
            WRITE:/1 sy-vline,
            2 wa_tadir-obj_name HOTSPOT ON,
            41 sy-vline ,
            42 wf_txt,
            105 sy-vline.
            AT END OF object.
              WRITE : /(105) sy-uline.
            ENDAT.
          ENDLOOP.
          WRITE:/(105) sy-uline.
          SKIP.
          FORMAT COLOR COL_TOTAL INTENSIFIED ON.
          WRITE:/ 'No.of Exits:' , wf_smod.
          WRITE:/ 'No.of BADis:' , wf_badi.
        ELSE.
          FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
          WRITE:/(105) 'No userexits or BADis exist'.
        ENDIF.
      ELSE.
        FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
        WRITE:/(105) 'Transaction does not exist'.
      ENDIF.
    AT LINE-SELECTION.
      DATA : wf_object TYPE tadir-object.
      CLEAR wf_object.
      GET CURSOR FIELD field1.
      CHECK field1(8) EQ 'WA_TADIR'.
      READ TABLE jtab WITH KEY obj_name = sy-lisel+1(20).
      MOVE jtab-object TO wf_object.
      CASE wf_object.
        WHEN 'SMOD'.
          SET PARAMETER ID 'MON' FIELD sy-lisel+1(10).
          CALL TRANSACTION 'SMOD' AND SKIP FIRST SCREEN.
        WHEN 'SXSD'.
          SET PARAMETER ID 'EXN' FIELD sy-lisel+1(20).
          CALL TRANSACTION 'SE18' AND SKIP FIRST SCREEN.
      ENDCASE.
    Reagards,
    Bharat.

  • To find the User Exits for a particular Transaction.

    hi,
        I want to find the number of User Exits for a The Transaction MM01 or MM02,
        I serched in the forums but could not find satisfactory ans,
        I tried with:
                 T.Code-> System>Status->Prog Name>SE38>find Call Customer-Exit.
        But its not helping me,
        Please help me.
    Thanks and Regards
    Suraj S Nair.

    hi ,
    if you are new to user exist use --> follw the below methos to find the user exit for a particular transaction or t-code
    create one custom pgm in se38 and execute >selection screenenter t-code and execute it will return all the user exists for a specific transaction..
    Finding the user-exits of a SAP transaction code
    * Finding the user-exits of a SAP transaction code
    * Enter the transaction code in which you are looking for the user-exit
    * and it will list you the list of user-exits in the transaction code.
    * Also a drill down is possible which will help you to branch to SMOD.
    * Written by : SAP Basis, ABAP Programming and Other IMG Stuff
    *              http://www.sap-img.com
    report zuserexit no standard page heading.
    tables : tstc, tadir, modsapt, modact, trdir, tfdir, enlfdir.
             tables : tstct.
    data : jtab like tadir occurs 0 with header line.
    data : field1(30).
    data : v_devclass like tadir-devclass.
    parameters : p_tcode like tstc-tcode obligatory.
    select single * from tstc where tcode eq p_tcode.
    if sy-subrc eq 0.
       select single * from tadir where pgmid = 'R3TR'
                        and object = 'PROG'
                        and obj_name = tstc-pgmna.
       move : tadir-devclass to v_devclass.
          if sy-subrc ne 0.
             select single * from trdir where name = tstc-pgmna.
             if trdir-subc eq 'F'.
                select single * from tfdir where pname = tstc-pgmna.
                select single * from enlfdir where funcname =
                tfdir-funcname.
                select single * from tadir where pgmid = 'R3TR'
                                   and object = 'FUGR'
                                   and obj_name eq enlfdir-area.
                move : tadir-devclass to v_devclass.
              endif.
           endif.
           select * from tadir into table jtab
                         where pgmid = 'R3TR'
                           and object = 'SMOD'
                           and devclass = v_devclass.
            select single * from tstct where sprsl eq sy-langu and
                                             tcode eq p_tcode.
            format color col_positive intensified off.
            write:/(19) 'Transaction Code - ',
                 20(20) p_tcode,
                 45(50) tstct-ttext.
                        skip.
            if not jtab[] is initial.
               write:/(95) sy-uline.
               format color col_heading intensified on.
               write:/1 sy-vline,
                      2 'Exit Name',
                     21 sy-vline ,
                     22 'Description',
                     95 sy-vline.
               write:/(95) sy-uline.
               loop at jtab.
                  select single * from modsapt
                         where sprsl = sy-langu and
                                name = jtab-obj_name.
                       format color col_normal intensified off.
                       write:/1 sy-vline,
                              2 jtab-obj_name hotspot on,
                             21 sy-vline ,
                             22 modsapt-modtext,
                             95 sy-vline.
               endloop.
               write:/(95) sy-uline.
               describe table jtab.
               skip.
               format color col_total intensified on.
               write:/ 'No of Exits:' , sy-tfill.
            else.
               format color col_negative intensified on.
               write:/(95) 'No User Exit exists'.
            endif.
          else.
              format color col_negative intensified on.
              write:/(95) 'Transaction Code Does Not Exist'.
          endif.
    at line-selection.
       get cursor field field1.
       check field1(4) eq 'JTAB'.
       set parameter id 'MON' field sy-lisel+1(10).
       call transaction 'SMOD' and skip first   screen.
    *---End of Program
    Regards,
    Prabhudas

  • What are the different methods to find the user-exit for any requirement?

    Hi Everybody,
    What are the different methods to follow to find the user-exit for any requirement?
    Thanks & Regards,
    Nagaraju Maddi

    The following program search all the user exits involved with a T-code:
    Selection Text: P_TCODE: Transaction Code to Search
    Text Symbols: 001 - Enter the Transaction Code that you want to search through for a User Exit
    REPORT z_find_userexit NO STANDARD PAGE HEADING.
    *&  Enter the transaction code that you want to search through in order
    *&  to find which Standard SAP® User Exits exists.
    *& Tables
    TABLES : tstc,     "SAP® Transaction Codes
             tadir,    "Directory of Repository Objects
             modsapt,  "SAP® Enhancements - Short Texts
             modact,   "Modifications
             trdir,    "System table TRDIR
             tfdir,    "Function Module
             enlfdir,  "Additional Attributes for Function Modules
             tstct.    "Transaction Code Texts
    *& Variables
    DATA : jtab LIKE tadir OCCURS 0 WITH HEADER LINE.
    DATA : field1(30).
    DATA : v_devclass LIKE tadir-devclass.
    *& Selection Screen Parameters
    SELECTION-SCREEN BEGIN OF BLOCK a01 WITH FRAME TITLE text-001.
    SELECTION-SCREEN SKIP.
    PARAMETERS : p_tcode LIKE tstc-tcode OBLIGATORY.
    SELECTION-SCREEN SKIP.
    SELECTION-SCREEN END OF BLOCK a01.
    *& Start of main program
    START-OF-SELECTION.
    * Validate Transaction Code
      SELECT SINGLE * FROM tstc
        WHERE tcode EQ p_tcode.
    * Find Repository Objects for transaction code
      IF sy-subrc EQ 0.
        SELECT SINGLE * FROM tadir
           WHERE pgmid    = 'R3TR'
             AND object   = 'PROG'
             AND obj_name = tstc-pgmna.
        MOVE : tadir-devclass TO v_devclass.
        IF sy-subrc NE 0.
          SELECT SINGLE * FROM trdir
             WHERE name = tstc-pgmna.
          IF trdir-subc EQ 'F'.
            SELECT SINGLE * FROM tfdir
              WHERE pname = tstc-pgmna.
            SELECT SINGLE * FROM enlfdir
              WHERE funcname = tfdir-funcname.
            SELECT SINGLE * FROM tadir
              WHERE pgmid    = 'R3TR'
                AND object   = 'FUGR'
                AND obj_name = enlfdir-area.
            MOVE : tadir-devclass TO v_devclass.
          ENDIF.
        ENDIF.
      * Find SAP® Modifications
        SELECT * FROM tadir
          INTO TABLE jtab
          WHERE pgmid    = 'R3TR'
            AND object   = 'SMOD'
            AND devclass = v_devclass.
        SELECT SINGLE * FROM tstct
          WHERE sprsl EQ sy-langu
            AND tcode EQ p_tcode.
        FORMAT COLOR COL_POSITIVE INTENSIFIED OFF.
        WRITE:/(19) 'Transaction Code - ',
        20(20) p_tcode,
        45(50) tstct-ttext.
        SKIP.
        IF NOT jtab[] IS INITIAL.
          WRITE:/(95) sy-uline.
          FORMAT COLOR COL_HEADING INTENSIFIED ON.
          WRITE:/1 sy-vline,
          2 'Exit Name',
          21 sy-vline ,
          22 'Description',
          95 sy-vline.
          WRITE:/(95) sy-uline.
          LOOP AT jtab.
            SELECT SINGLE * FROM modsapt
            WHERE sprsl = sy-langu AND
            name = jtab-obj_name.
            FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
            WRITE:/1 sy-vline,
            2 jtab-obj_name HOTSPOT ON,
            21 sy-vline ,
            22 modsapt-modtext,
            95 sy-vline.
          ENDLOOP.
          WRITE:/(95) sy-uline.
          DESCRIBE TABLE jtab.
          SKIP.
          FORMAT COLOR COL_TOTAL INTENSIFIED ON.
          WRITE:/ 'No of Exits:' , sy-tfill.
        ELSE.
          FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
          WRITE:/(95) 'No User Exit exists'.
        ENDIF.
      ELSE.
        FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
        WRITE:/(95) 'Transaction Code Does Not Exist'.
      ENDIF.
    * Take the user to SMOD for the Exit that was selected.
    AT LINE-SELECTION.
      GET CURSOR FIELD field1.
      CHECK field1(4) EQ 'JTAB'.
      SET PARAMETER ID 'MON' FIELD sy-lisel+1(10).
      CALL TRANSACTION 'SMOD' AND SKIP FIRST SCREEN.

  • How to find the text id for the text in the sales order

    Hi all,
    How to find the text id for the item-text in the sales order?
    There are different Text available in  the sales order under item like Warehouse instruction, CSR instruction...
    I want to know the corresponding Text id for the text ELECTRONIC ORDER COMMENT.
    Table TTXID contains the validation of the Text id.
    Please help me in knowing the way to identify the text-id from the text list..
    Thanks foryour help
    Suresh Kumar

    U can fetch the texts for the items using
    Read_text.
    Example:
        g_f_tdname = xvttp-vbeln.
        g_f_obj = p_obj.
        g_f_langu = 'DE'.
        REFRESH g_t_lines.
        CLEAR g_t_lines.
        CALL FUNCTION 'READ_TEXT'
             EXPORTING
                  id                      = p_var
                  language                = g_f_langu
                  name                    = g_f_tdname
                  object                  = g_f_obj
             TABLES
                  lines                   = g_t_lines
             EXCEPTIONS
                  id                      = 1
                  language                = 2
                  name                    = 3
                  not_found               = 4
                  object                  = 5
                  reference_check         = 6
                  wrong_access_to_archive = 7
                  OTHERS                  = 8.
        IF sy-subrc <> 0.
         MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                 WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
    The Required fields are,
    Text-id ,language,name,object.
    Let me know if you further require help.
    Regards

  • How to find the search help for the parameters stmt in a report

    hi
    how to find the search help for the parameters stmt in a report , that is using which addition to the parameters statement

    I am not sure if I understood the question,but if you meant how to attach a search help to parameter for which a default search help is not available,you can do that by using addition  "Matchcode Object"
    Parameter: a type i matchcode object 'Search Help Name'
    Search Help name should be in single quotes.
    Regards,
    Anubhav.
    P.S: Award Points if useful.

Maybe you are looking for

  • O/S re-install

    If I reinstall the OS (RH ES 3 to RH ES 4). Do I need to reinstall oracle? If not are there any steps I need to take? The os is installed to a separate disk to the existing Oracle software and database files.

  • Google Map Missing; Error Message

    Hi! I just published some additional pages. When I went to website, my Google Map is not functioning. I get an Error Message: The Google Maps API server rejected your request. This could be because the API key used on this site was registered for a d

  • Apps for fans and temps

    Anyone recommend apps that report whether the PB fans are on/off/speed, and what the temperature sensors are reporting? I am getting the intermittant shutdown with emergency overtemp report, and I am reluctant to immediately blame the touchpad temper

  • HT3576 still doesn't work, where do I look for the network or firewall on the phone?

    Cannot figure out the notifications on my Iphone 5. I have an Itouch and the notifications work just fine, I like the banners type. Anyone help me please?

  • Sync Mail between two computers

    After Leopard upgrade, I switched from Entourage to Mail.app, so I'm new to it. I use two Macs and POP accounts. How can I sync Mail.app between two computers in Leopard? The Sync Service of Smart Folders is not enough for me. May I use a sync app li