Skip to Content
author's profile photo
Former Member

Screen exit

Hi all!

What is screen exit and how to determine a screen exit for a particular screen.Please help.

regards

Praneeth

Add comment
10|10000 characters needed characters exceeded

6 Answers

  • Best Answer
    author's profile photo
    Former Member
    Posted on Feb 20, 2006 at 08:53 AM

    Screen exits add fields to screens in R/3 applications. SAP creates screen exits by placing special subscreen areas on a standard R/3 screen and calling a customer subscreen from the standard screen’s flow logic.

    For more details checkmout this link.

    http://www.sappoint.com/abap/userexit.pdf.

    this may help you..

    regards,

    prema.a

    Add comment
    10|10000 characters needed characters exceeded

  • author's profile photo
    Former Member
    Posted on Feb 20, 2006 at 06:44 AM

    Hi Praneeth

    screen exis is a type of user-exit provided by SAP which is used to modify the existing SAP standard Screens in certain Transactions.

    you can find a screen exit using a program

    REPORT Z_user_EXIT 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 : 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 Modifactions

    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.

    regards

    kishore

    reward if helpful

    Add comment
    10|10000 characters needed characters exceeded

  • author's profile photo
    Former Member
    Posted on Feb 20, 2006 at 06:46 AM

    Screen exits add fields to screens in R/3 applications. SAP creates screen exits by placing special subscreen areas on a standard R/3 screen and calling a customer subscreen from the standard screen’s flow logic.

    Add comment
    10|10000 characters needed characters exceeded

  • author's profile photo
    Former Member
    Posted on Feb 20, 2006 at 06:43 AM

    GOT TO THE PROGRAM OF THE TRANSACTION IN WHICH THE SREEN EXITS.

    FIND THE PACKAGE,

    GO TO CMOD, IN ENHANCEMENT SETTINGS, GIVE THE PACKAGE NAME

    U WILL GET ALL THE EXITS FOR THAT TRANSACTION, BY SEEING THE SHORT DESCRIPTION, U NEED TO IDENTIFY.

    <u>2ND METHOD</u>

    IN THE SCREEN LAYOUT, SEE ANY BLANK SUBSCREEN IS THERE OR NOT. IF IT IS THERE, THEN SCREEN EXIT IS THERE FOR THAT PARTICULAR SCREEN.

    <u>3RD METHOD</u>

    IN THE SCREEN MODULE POOL CHECK FOR "CALL SUB SCREEN".

    IF IT IS THERE THEN, THERE IS SCREEN EXIT FOR THAT SCREEN

    Add comment
    10|10000 characters needed characters exceeded

  • Posted on Feb 20, 2006 at 06:46 AM

    Hi

    Screen exits are used add custom fields to the SAP Reserved screen space on the module pool screen.

    You can find whether a transaction offers screen exits by checking CALL CUSTOMER statement in the main program of the transaction.

    Regards,

    Abdul

    Add comment
    10|10000 characters needed characters exceeded

  • author's profile photo
    Former Member
    Posted on Feb 20, 2006 at 07:22 AM

    Hi,

    Pls. follow the below points,

    Screen Exit is nothing but enhancing the screen like creating some more fields, subscreen and so on.

    1. Go to the screen>System>Status-->Program (Double

    click this program. It will take you to the program.

    2. Now, Goto-->Object Directory Entry.

    3. Make a note the package name.

    4. Now run the transactions SMOD, press F4 and enter the

    above noted package, press enter.

    5. It will display list of Exits.

    6. Now go back to the initial screen SMOD.

    7. Specify the exit name here and select the radio button

    Components.

    8. It will display four group boxes one for FM, second

    for Fcodes, thrid for Screen areas and last for

    includes.

    9. Goto transaction CMOD, create a new project, and

    click the button "Enhancement assignments" and

    specify your enhancements that you got in SMOD.

    10. Now bouble clikc the enhancement, it will take you to editor with some includes starting with Z, double clikc the include you want to edit and proceed.

    Thanks & Regards,

    Venkat Ramanan

    Message was edited by: Venkat Ramanan Natarajan

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member

      Hi Venkat!

      Very helpful material you had provided me.

      Actuall my program name is SAPLV02Z and screen number is 200.When i repeat the steps which you have mentioned I got a screen after the step 8 where there are 4 options as u mentioned one for FM one for Fcodes and so on.. now for my particular case where i have to add the custom fields to the screen.which one should i select and proceed please advise.I mean which enhancement should i mention with refer to step 9) in CMOD.

      Actually for this program the screen areas is blank.

      Please advise

      Points rewarded

      Thanks once again for the advise

      regards

      Kumar