Want to find the screen exits in VA01 and VA02

Hi All,
  I want to find the screen exits in VA01 and VA02.
  How to find these screen exits.
  Actually i wnat to add a new custom field to the Additional data B tab on the header of VA01 transaction code.
Now intially i want to know whether there are screen exits in VA01 transaction code ?If yes please provide the names?
Please help me regarding this.

Please check this
http://help.sap.com/saphelp_46c/helpdata/en/1c/f62c7dd435d1118b3f0060b03ca329/content.htm
The SAPMV45A , 8309 screen is the Additional Data B tab  to add your custom fields . To capture the data from this custon field you can use
the user exit MV45AFZZ, USEREXIT_SAVE_DOCUMENT_PREPARE OR
USEREXIT_SAVE_DOCUMENT depening on your functionality.
Thanks
Vinod

Similar Messages

  • How to find the screen exit of migo screen

    Hi anybody,
      Please tell me how to find the screen exit in MIGO Sceen.
    Thks
    Kali.

    GO TO TRANSACTIO CODE MIGO
    GO->SYSTEM->STATUS
    COPY THE PROGRAM NAME
    OPEN SE38 EDITOR
    GIVE THE PROGRAM NAME
    IN THE GLOABL SEARCH SEARCH THE STRING
    SELECT RADIO BUTTON MAIN PROGRAM
    CALL CUSTOMER
    U WILL GET SOME CALL CUSTOMER FUNCTION '001'.
    DOUBLE CLICK ON THAT U WILL GET THE EXIT
    FOR ANY EXIT SCREEN MENU FUNCTION THE PROCEDURE IS SAME
    PLEASE REWARD IF USEFUL
    REGARDS
    I

  • I want to find the difference(duration) between logon and logoff time?

    i want to find the difference(duration) between logon and logoff time of below table?
    can any one tell the query to find using self join?
    USR     LOGON_TIME     LOGOFF_TIME
    HR     31-AUG-04 03.04.04.000000 AM     -
    HR     - 31-AUG-04 03.04.14.000000 AM
    Edited by: 794244 on Nov 1, 2010 10:47 PM

    No selfjoin, just analytical functions.
    CREATE TABLe log_time
    (username varchar(20),
    LOGON_TIME timestamp,
    LOGOFF_TIME timestamp);
    insert into  log_time (username,LOGON_TIME,LOGOFF_TIME) values ('HR',sysdate,null);
    insert into  log_time (username,LOGON_TIME,LOGOFF_TIME) values ('HR',null,sysdate+1/38);
    insert into  log_time (username,LOGON_TIME,LOGOFF_TIME) values ('HR',sysdate+2,null);
    insert into  log_time (username,LOGON_TIME,LOGOFF_TIME) values ('HR',null,sysdate+2+14/20);
    commit;
    SELECT username,logon_time,logoff_time, my_logoff_time, my_logoff_time -logon_time,
           time_to_sort
    FROM (
            SELECT username,logon_time, logoff_time,
                   LEAD(logoff_time,1,logon_time) OVER (PARTITION BY username ORDER BY time_to_sort) my_logoff_time,
                   time_to_sort
            FROM (SELECT username,logon_time,logoff_time,NVL(logon_time,logoff_time) time_to_sort
                  FROM log_time)
    where LOGON_TIME is not null     
    ORDER BY  time_to_sort; 
    USERNAME     LOGON_TIME     LOGOFF_TIME     MY_LOGOFF_TIME     MY_LOGOFF_TIME-LOGON_TIME     TIME_TO_SORT
    HR     02.11.10 11:34:56.000000000          02.11.10 12:12:50.000000000     0 0:37:54.0     02.11.10 11:34:56.000000000
    HR     04.11.10 11:34:56.000000000          05.11.10 04:22:56.000000000     0 16:48:0.0     04.11.10 11:34:56.000000000But, if that code which fills that table should better UPDATE than INSERT. You can cover much more issues. (e.g the DB crashes and you get 2 logon but no logoff in a sequence and.....)
    -- andy

  • How to grey out or deactivate the Conditions tab in VA01 and VA02

    Hi gurus,
    Is there a way I can grey out or deactivate the Conditions tab in VA01 or VA02?  Our objective is to attach the pricing conditons to the customer level and that no sales encoder can edit prices during encoding using t-codes VA01 and VA02?
    I also tried to solve my problem through authorization object of the user V_KONH_VKS - set to 3 (Display) but still the user was able to make revisions to the Conditions tab if he wants to.  This is an internal control issue  for our company.
    Thanks for the immediate response. 
    Frances

    Hello Francis,
    In the definition of condition types in SPRO ( T.code V/06) you can define whether a particular condition type ( example PR00) can be processed manually by the user. IF you select the option " No Manual entries" the system does not allow the users to change the condition value determined from the condition records ( Maintained in VK11).
    ALternately, if the business requirement is that of allowing a particular condition type ( example PR00) to be processed manually by the user in certain business scenarios and in others the value should not be editable then you can use the user exit in MV45AFZB " USEREXIT_SAVE_DOCUMENT". In this you can write the required logic with the help of a technical consultant.
    Hope this helps
    Warm Regards
    Prashant Joshi.

  • Controlling Screen Flow in VA01 and VA02

    Hello, I am going to add a pop up message in a Sales Order User Exit, and depending on the answer, I would like to go to the Billing tab/dynpro.  Does anyone know how I can control screen flow thru a user exit in VA01 adn VA02?
    Thanks

    After your popup selection, you can set the FCODE to KDE3 (for the Header > Billing Document tab).
    You have to stop the processing by giving the Error message and let the user press "Enter" to move on to the next screen. So, after setting the FCODE to KDE3, give the error message to stop the proessing.
    Regards,
    Naimesh Patel

  • User Exit for VA01 and VA02 transaction codes

    Hi,
    I am writing a userexit for PO number checking for VA01 and VA02 transaction codes.The PO number should be unique in the table (vbkd-bstkd).Duplicate PO number entries can be checked with Sold-to Party.If anybody written something like this....please advice me...
    Thanks in advance.
    fractal

    Hi Fractel,
    Why are you looking for a user exit to do this duplicate PO check?
    This can be achieved through configuration of your sales order document type and message control. Follow the path below for configuration of the document type.
    Implementation Guide for R/3 Customizing (IMG)
    -->Sales and Distribution
       -->Sales
          -->Sales Documents
             -->Sales Document Header
                -->Define Sales Document Types
    Once you execute this node, you will see all the available document types. Select the one you are interested in and click the details icon. In the subsequent screen, under "General Control" section, there is a field "Check purch.order no". Pick the value 'A' from the drop-down list.
    Once you do this, system will check for duplicate PO numbers whenever you are creating or changing the sales order with that document type. If duplicate, it issues a message.

  • While saving the sales order through Va01 and Va02 and email has to send

    Hi Experts,
    My requirement is to send an email with PDF formatted display of the Sales order to the sold to party's email id while saving the Salesorder through Va01 and Va02.
    I need the following .
    How to send an email with PDF formatted attachment of Salesorder display ? (we have done the formatting of display through SMARTFORMS )
    I think we can do it by userexits program name is MV45AFZZ while saving the document.
    Please suggest me the best possible way.
    Thanks ,
    Saritha

    Hi, there is no need for a customer devlopment on this. A standard smartform output will do with output medium '5' (external send). Then the smartform output will be send as PDF to the e-mail address in the output partner. Have a look at transaction NACE.
    Regards Jack

  • Find the user exit while creation and change of sales order

    Hi Team
    Below mentioned requirement , in which user exit i have to put below logic while creaion and change of sales order?
    u2022     The logic for the user exit to explode should consider the following assumptions and validations
    o     Customer master to have the entry at KNVV-KVGR1
    o     Material master to have the entry at MVKE
    o     UoM in the Sales order item (VBAP- VRKME) should be = Pallets PAL or tonnes (TES)
    o     Should have more than one line item or number of line items with UoM PAL or tonnes TES should be > 1
    for example :-->
    Product A with Scales mentioned below
    Product A     Quantity / Scale     UoM     Price(£)
         0-10     PAL/TES     20
         11- 20     PAL/TES     10
         21- 30     PAL/TES     5
         31-40     PAL/TES     2.5
         >41     PAL/TES     
    Product B with Scales mentioned below
    Product B     Quantity / Scale     UoM     Price(£)
         0-15     PAL/TES     25
         16-20     PAL/TES     20
         21- 30     PAL/TES     15
         31-40     PAL/TES     10
         > 41     PAL/TES     5
    u2022     Product A (qty 10PAL) + Product B (qty 15 pal) ordered in a single order with 2 line items.
    u2022     The expected results should be
    o     Product A qty 10 + B qty 15 added = 25Pal
    o     The system user exit should add the total number of pallets on the order line items and point towards the respective scales, so in this example prices against each line item should be the respective price against 25 Pal = 5£ for product A per pal and £15 for product B.
    Thanks in Advance.
    Puneet.

    Hi Team
    Below mentioned requirement , in which user exit i have to put below logic while creaion and change of sales order?
    u2022 The logic for the user exit to explode should consider the following assumptions and validations
    o Customer master to have the entry at KNVV-KVGR1
    o Material master to have the entry at MVKE
    o UoM in the Sales order item (VBAP- VRKME) should be = Pallets PAL or tonnes (TES)
    o Should have more than one line item or number of line items with UoM PAL or tonnes TES should be > 1
    for example :-->
    Product A with Scales mentioned below
    Product A Quantity / Scale UoM Price(£)
    0-10 PAL/TES 20
    11- 20 PAL/TES 10
    21- 30 PAL/TES 5
    31-40 PAL/TES 2.5
    >41 PAL/TES
    Product B with Scales mentioned below
    Product B Quantity / Scale UoM Price(£)
    0-15 PAL/TES 25
    16-20 PAL/TES 20
    21- 30 PAL/TES 15
    31-40 PAL/TES 10
    41 PAL/TES 5
    u2022 Product A (qty 10PAL) + Product B (qty 15 pal) ordered in a single order with 2 line items.
    u2022 The expected results should be
    o Product A qty 10 + B qty 15 added = 25Pal
    o The system user exit should add the total number of pallets on the order line items and point towards the respective scales, so in this example prices against each line item should be the respective price against 25 Pal = 5£ for product A per pal and £15 for product B.
    Thanks in Advance.
    Puneet.

  • User Exit for VA01 and VA02: Duplicate PO check

    Hi,
    I am writing a userexit for PO check in VA01 & VA02 trx.The PO number should be unique.If we enters the existing PO number it should go to Incompletion log.I am calling check_po_number form in userexit_save_document in mv45afzz. it is not working....
    what is wrong in my code?
    Thanks in advance,
    fractal.
    FORM CHECK_PO_NUMBER.
    DATA : begin of ivbkd occurs 0,
             vbeln like vbkd-vbeln,
            end of ivbkd.
    Select DISTINCT vbeln into table ivbkd from vbkd
              where bstkd = vbak-bstnk.
    Select * from vbak up to 1 rows
             for all entries in ivbkd
              where vbeln = ivbkd-vbeln and
                    kunnr = vbak-kunnr.
    endselect.
    if sy-subrc = 0.
         perform set_so_incompletion_log using 'PONM'.
    else.
       perform reset_so_incompletion_log using 'PONM'.
    endif.
    ENDFORM.
    FORM set_so_incompletion_log using value(logid) type c.
    case logid.
    when 'PONM'.
         read table xvbuv with key
         vbeln = xvbak-vbeln
         tdid = 'Z026'.
         if sy-subrc <> 0.
          XVBUV-MANDT = SY-MANDT.
          XVBUV-VBELN = XVBAK-VBELN.
          XVBUV-POSNR = '000000'.
          XVBUV-ETENR = '0000'.
          XVBUV-PARVW =  ''.
          XVBUV-TDID  =  'Z026'.
          XVBUV-TBNAM =  'FTEXT'.
          XVBUV-FDNAM =  'LTEXT'.
          XVBUV-FEHGR =  '50'.
          XVBUV-STATG =  '02'.
          XVBUV-UPDKZ =  ''.
          XVBUV-FCODE =  'KTEX_SUB'.
          XVBUV-MSGKZ =   ''.
          XVBUV-SORTF =  '9999'.
          XVBUV-LFDNR =  '0000'.
          APPEND XVBUV.
         endif.
    ENDFORM.
    FORM reset_so_incompletion_log using value(logid) type c.
      case logid.
        WHEN 'PONM'.
           delete xvbuv
           where vbeln = vbak-vbeln
           and   tdid  = 'Z026'.
         WHEN OTHERS.
    endcase.
    ENDFORM.

    Hi Fractel,
    One of the classic mistakes we make when we use the <i>'for all entries in itab'</i> option is that we don't check if there are any entries in the itab or not. As a result of an empty itab, your select will always be true, because it is going to select everything and so the issue.
    Add a sy-subrc check in your code after select from vbkd. If sy-subrc <> 0, you don't have to go any further and if sy-subrc = 0, it means the PO is already used. Why are you even going to VBAK table?
    Remember, you are working with VBAK that is in your work area, and when you do a select from VBAK, you are overwriting your workarea, if the selection is successful. That will be dangerous. Don't do the VBAK select. You don't need that.
    If the VBKD select is successful, then you have a duplicate PO and if not, you don't have a duplicate PO. Isn't that the case?
    Srinivas
    Message was edited by: Srinivas Adavi

  • How to find the user exit for order cancellation

    I want to find the user exit for order cancellation. And also to ensure that no one amends the order once the canellation has taken place. The cancellation shall be deemed to be affected only if the vendor has confirmed the acknowledgement of the order cancellation.
    I have got a Zreport where this order should not come as open order item.
    Please tell me the method of finding the users exit for order cancellation and stop the order from getting modified. And also how to find the tables in which the data has to be updated that the order has to be cancelled.
    In the PO header i want an additional tab <cancellation> by which the user by the help of userid and password should be able to cancel the order. An order once cancelled cannot be undone. A new order has to be placed. The new order can be placed refencing the cancelled purchased order.
    My client has got a very stringent requirement. In the past cancelled order has been undone and caused lot of problems.
    Regards.

    hi
    pls tell me t.code so that i will send all user exits related to that particular t.codes
    Thanks & Regards
    phaneendra

  • 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.

  • If I want to record the screen with Quicktime I dont find the "Built-in Input: Line in" There I can only change between "None" or "Built-in-Microphone: Internal microphone"

    If I want to record the screen with Quicktime I dont find the "Built-in Input: Line in" There I can only change between "None" or "Built-in-Microphone: Internal microphone"

    Have a look at Soundflower at this link:
    http://www.macworld.com/article/1159440/soundflower_capture.html

  • 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.

  • Screen exits in va01

    as this is a urgent req. pls can any one suggest what r the diff. screen exits in va01 tcode and how ton find them.
    thanx and regards

    hi
    you can check the same with this report program. execute it, enter your transaction for which you require enhancement then press f8. It would display all the available exits...
    *& Report  ZFINDUSEREXIT
    REPORT  ZFINDUSEREXIT.
    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).
    please reward if useful...
    regards
    dinesh

Maybe you are looking for